안드로이드 웹뷰를 사용하다보면 회면을 회전하면 페이지가 다시 처음으로 돌아가버리는 경우가 있다. 이 부분은 Manifest 파일에서 코드 한 줄을 삽입해 주고, 해당 액티비티 소스 코드(.java)에서 메서드를 오버라이딩 해 주는 것으로 간단히 해결할 수 있다. 먼저, AndroidManifest.xml 파일의 해당 액티비티(웹뷰가 지정되어 있는)에 아래 속성을 추가 android:configChanges="keyboard|keyboardHidden|orientation|orientation|screenSize" 그리고, 해당 액티비티의 소스코드(.java)에서 아래 오버라이딩 메서드 추가 @Override public void onConfigurationChanged(Configuration newCo..
webView.setWebChromeClient(new webViewChromeClient()); /** * WebChromeClient 상속 * */ private class webViewChromeClient extends WebChromeClient { @Override public boolean onCreateWindow(WebView view, boolean dialog, boolean userGesture, Message resultMsg) { // TODO Auto-generated method stub return super.onCreateWindow(view, dialog, userGesture, resultMsg); } @TargetApi(Build.VERSION_CODES.HONEYC..
안드로이드에서 플래시를 재생시키는건 제한적인 환경에서만 가능합니다. 어도비에서 플래시 어플을 베포한버젼인 4.0까지만 가능합니다. 이를 재생하는 방법은 안드로이드 -> 웹뷰 -> 플래시 플레이어 -> 플래시 파일 순으로 진행됩니다. 소스가 보기 힘드시겠지만 간단하게 설명하자면 webview = (WebView) findViewById(R.id.webview); //갤럭시 s등에서 속도가 느린경우가 있기 때문에 캐쉬사용안함 설정입니다. webview.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); //자바스크립트사용을 허가한다는 내용입니다. webview.getSettings().setJavaScriptEnabled(true); //웹뷰에서 플래시 플러그인..
모바일에서는 갤러리 호출하는 방법은 참 쉽습니다.하지만 내가 원하는방식은 웹뷰에서! 네이버창을 보다가 글을 쓰면서 사진을 첨부하고싶을때, 보이는것은 웹인데 단말기의 갤러리에서 이미지를 가져오고싶을때 사용합니다. 참고. web은 WebView입니다. onCreate에 웹뷰에다가 다음 속성을 적용하구요. web.setWebChromeClient(new WebChromeClient() {public void openFileChooser(ValueCallback uploadMsg, String acceptType){mUploadMessage = uploadMsg;Intent i = new Intent(Intent.ACTION_GET_CONTENT);i.addCategory(Intent.CATEGORY_OPENA..
get 값의 전달은 참 쉽죠url 뒤에 ? 표시하고 변수들 넘기면 되는데... 문제는 post 전송방법입니다! int DEVICE_WIDTH = 720;WebView web = new WebView(this);WebSettings set = web.getSettings();set.setJavaScriptEnabled(true);String postData = "DEVICE_WIDTH=" + DEVICE_WIDTH;web.postUrl("url", EncodingUtils.getBytes(postData, "BASE64")); 간단히 위와 같은 소스를 이용하면 post방식의 변수를 전달 할 수 있습니다. url부분에 웹페이지 주소를 넣고 받는쪽에서는 알아서 받아서 처리하면 되지요 참 쉽죠~ 도움이 되셨다면..
web_main = (WebView)findViewById(R.id.web_main); web_main.getSettings().setJavaScriptEnabled(true); WebSettings set = web_main.getSettings(); set.setJavaScriptEnabled(true); // javascript를 실행할 수 있도록 설정 set.setJavaScriptCanOpenWindowsAutomatically (true); // javascript가 window.open()을 사용할 수 있도록 설정 set.setBuiltInZoomControls(false); // 안드로이드에서 제공하는 줌 아이콘을 사용할 수 있도록 설정 set.setPluginState(WebSetting..
Android Tip - Displaying a PDF Document inside a WebView One of the most requested features in Android is the ability to display a PDF document within a WebView. However, the WebView does not contain a PDF plugin that allow you to display a PDF document. One solution is to use an Intent object to launch a third-party app (such as Adobe Acrobat) which can handle the PDF document. However, this wi..
mWebView.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } /** * 웹페이지 로딩이 시작할 때 처리 */ @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { } /** * 웹페이지 로딩중 에러가 발생했을때 처리 */ @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { ..
이미지크기가 달라도 스크린에 꽉 찬 화면으로 보여주고 싶을때 사용한다.간단히 소스만 첨부 webView = (WebView)findViewById(R.id.adverWeb);webView.setVerticalScrollBarEnabled(false);webView.setVerticalScrollbarOverlay(false);webView.setHorizontalScrollBarEnabled(false);webView.setHorizontalScrollbarOverlay(false);webView.setInitialScale(100);webView.loadDataWithBaseURL(null,creHtmlBody(IMAGE_URL), "text/html", "utf-8", null); public Str..