Web ブラウザーと同じように、WebView にプロンプトを表示させたいと考えています。
alert() に対処する他の回答から、Java コードで次のようなことをしなければならないことがわかりました。
myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.addJavascriptInterface(new WebAppInterface(this), "Android");
// Next line was added
myWebView.setWebChromeClient(new WebChromeClient());
これは機能し、プロンプトがポップアップしますが、に渡すメッセージを表示する代わりに、次のように表示されますprompt()
。
The page at "https:..." says:
JavaScript では、私の呼び出しは次のようになります。
prompt("Test")
したがって、プロンプトには「テスト」と表示されると思います。
これにより、アプリに埋め込まれている WebView の没入感が完全に失われます。実際に渡したテキストを WebChromeClient に表示させるにはどうすればよいですか?