javaからjavascriptを実行した場合の返り値の受け取り
// webview=WebViewオブジェクト webview.loadUrl("javascript:var hoge=someFunc()"); // someFunc()はhtml側で定義。そしてこのhogeが欲しい webview.loadUrl("javascript:alert(hoge)");// alert()関数を呼び出す。 webview.setWebChromeClient(new WebChromeClient(){ @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result){ // messageに値が入ってるので処理 return false; } });
こうすればonJsAlert()で欲しい値が受け取れる。
javascriptに手を加えられたらそうすればいいんだけど、javascriptに手を入れられない場合があったりもするよね。
そういう場合にこれなら行ける。
setWebChromeClientの辺りは色々文献があるのでそちら参照で。
↓ありがとうございました。
How to get return value from javascript in webview of android? - Stack Overflow