

Android Studioを使いJavaにてWebViewを設置して任意のHTMLを表示させています。  
そこで、AndroidとHTML内のJavaScriptの相互連携をさせたいと思っています。

まず JavaScript → Android (Java) については `@JavascriptInterface`
を使用して、Androidの任意のJavaメソッドを呼び出す事に成功しました。引数なども正しく渡っています。

逆に、Android (Java) 側からHTML内の任意のメソッドを呼び出す方法が分からずにはまってしまっております。  
それこそ、`webview.loadUrl("javascript:hoge();");`
で呼び出せるような情報もあったのですが、アラートを設置しても表示されないため、うまく呼ばれていないのかなと思っております。  
`webview.evaluateJavascript("hoge();", null);` でも同様でした。

大変お手数なのですが、ご教授いただけますと幸いです。


CC BY-SA 4.0
2021-03-01T03:11:35.930
74328
2022-03-22T06:05:40.677
2021-03-03T04:36:19.517
15413
44154
question
javascript java android webview
AndroidからJavaScriptの任意のメソッドを呼び出したい


質問をするときは最低限のマナーとして、まず環境に関する情報を詳しく書くようにしてください。  
Android開発の場合は、端末のOSバージョンやベンダー、IDE (Android Studio) のバージョン、Android
SDKのバージョン、`targetSdkVersion`の値などが該当します。

  * [技術系メーリングリストで質問するときのパターン・ランゲージ](http://www.hyuki.com/writing/techask.html#env)

JS側で`alert()`を使用するには、事前に[`WebView.setWebChromeClient()`](https://developer.android.com/reference/android/webkit/WebView)にて、[`WebChromeClient`](https://developer.android.com/reference/android/webkit/WebChromeClient)インスタンスの設定が必要なはずです。

なお、JSの実行が可能になるのは、ページ読み込みが完了した後です。  
詳しくは以下などを参考にしてください。

  * [AndroidのWebViewをJavascriptエンジンとして利用する - Qiita](https://qiita.com/j_catfish/items/fc5167d09eba15bdd8ff)


CC BY-SA 4.0
2021-03-02T18:08:55.913
74375
2021-03-02T18:08:55.913
15413
74328
answer