作者gene07 (-.-)
看板AndroidDev
標題[問題] android function取得js的return value
時間Tue Dec 22 17:21:17 2015
是這樣的...
in js :
function get_value(){
return "test value";
}
android class:
把javascript fuction所return的東西直接拿來使用
請問,是否有辦法如我上面所說的直接拿來用..
因為看到網路上的教學都是寫:
webview.loadUrl("javascript:ge_value()");
可是我get_value()出來的東西沒有要放在webview~~
我想要在android class的function自己做處理。。
請問 有什麼辦法可以解決這個問題?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.250.82.82
※ 文章網址: https://webptt.com/m.aspx?n=bbs/AndroidDev/M.1450776080.A.ABD.html
1F:→ ssccg: 自己加一個Javascript Interface去收return value 12/22 18:40
2F:→ ssccg: 或是雖然不太可能,如果只要支援4.4以上那就用 12/22 18:48
3F:→ ssccg: evaluateJavascript,就直接有callback參數可以用 12/22 18:48
4F:→ ssccg: 但是不管用哪個Java->JS這段都是非同步的,要同步還要再寫 12/22 18:50
public final class WebViewClientImpl extends WebViewClient
{
public void onPageFinished(WebView view, String url)
{
view.loadUrl("javascript:window.android.Result(get_value())");
}
}
public static class JsCallBack
{
@JavascriptInterface
public void Result(final String x)
{
Result = x;
}
}
我這樣寫可以抓到js return到的value
可以看到log一直出現下面的訊息:
Uncaught ReferenceError: get_value is not defined
※ 編輯: gene07 (60.250.82.82), 12/22/2015 18:59:15