いろいろメモ
addJavascriptInterface()でWebView側から見えなくなったら、見せたいメソッドに @JavascriptInterface アノテーションをつける。
WebViewをchrome://inspectからデバッグしたい場合、次を入れておく。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); }
WebViewのリンクをクリックしたときに別アプリを立ち上げたい場合は次のようにする?deprecated対応も入れたけど、これでいいのか分からない。
webview.webViewClient = object: WebViewClient() { @TargetApi(Build.VERSION_CODES.LOLLIPOP) override fun shouldOverrideUrlLoading( view: WebView?, request: WebResourceRequest? ): Boolean { ... } override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean { ... } }
位置情報取得許可はDalvik側で受けられます。
webview.webChromeClient = object: WebChromeClient() { override fun onGeolocationPermissionsShowPrompt( origin: String?, callback: GeolocationPermissions.Callback ) { ... } }
http通信を可能にするには Manifestを編集。