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