Android/WebView(6)
-
WebView 위치 정보 권한 승낙
Step 1. manifests에 권한 추가 Step 2. WebView GPS location 권한 설정 webView.setWebChromeClient(new WebChromeClient(){ @Override public void onGeolocationPermissionsShowPrompt(String origin, GeolocationPermissions.Callback callback) { super.onGeolocationPermissionsShowPrompt(origin, callback); callback.invoke(origin, true, false); } }); GeolocationPermissions.Callback A callback interface used by the hos..
2021.05.06 -
WebView 세팅 속성
setJavaScriptEnabled ( false ) 웹뷰를 사용하면 네이티브 영역에서 코드로 처리 되는 것이 거의 없는 경우가 많습니다. 그래서 자바스크립트로 이루어져 있는 기능들을 사용하기 위하여 해당 속성을 추가해야합니다. setJavaScriptCanOpenWindowsAutomatically ( false ) 필요에 의해 팝업창을 띄울 경우가 있는데, 해당 속성을 추가해야 window.open() 이 제대로 작동합니다. setLoadsImagesAutomatically ( true ) 웹뷰가 앱에 등록되어 있는 이미지 리소스를 자동으로 로드하도록 설정하는 속성입니다. setUseWideViewPort ( false ) 웹뷰가 wide viewport를 사용하도록 설정하는 속성입니다. 그래서 h..
2021.04.30 -
ScrollView 안에 WebView Height
스크롤뷰에 WebView를 넣으면 아래와 같이 전체 화면에 꽉차게 나오지 않는다. 스크롤뷰의 옵션 android:fillViewport="true" 를 입력 해야지만 WebView가 꽉차서 나온다.
2021.04.30 -
WebView AdjustResize 동작 안함
이유 : FullScreen 모드 이면 동작 안함 Manifest AppTheme에 FullScreen 모드 옵션이 적용되어 있는지 확인 필요
2021.04.30 -
WebView Alert 동작 안함
동작 안하는 이유 : WebChromeClient 설정을 안해 주어서(alert로 출력되는 팝업이 웹 브라우저의 자체 기능) 웹에서 alert를 호출 하면 onJsAlert에서 정보를 받는다. 아래와 같이 설정 하면 alert이 활성화 된다. mWebView.setWebChromeClient(new WebChromeClient(){ // mWebView에 WebChromeClient를 사용하도록 설정한다. @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); // super.onJsAlert는 f..
2021.04.30 -
자바스크립트 코드를 Android 코드에 결합
사용 이유 : 자바스크립트로 안드로이드 함수 호출 가능 사용 방법 : 1. 호출할 함수 정의 /** Instantiate the interface and set the context */ class WebAppInterface(private val mContext: Context) { /** Show a toast from the web page */ @JavascriptInterface fun showToast(toast: String) { Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show() } } 2. 웹뷰에 연결 val webView: WebView = findViewById(R.id.webview) webView.addJavascriptInte..
2021.04.30