我的应用程序有一个webview调用网址,基本上所有的东西都将由网站完成,但在用户完成进程后,它将发送应用程序的信息,如成功或无效。 我想知道如何通过webview捕获此返回值。有没有办法做到这一点?
感谢。
答案 0 :(得分:0)
您应该使用JavascriptInterface
将您的一种Java方法暴露给您网站上的Javascript。
首先,创建一个类作为您的界面。您要向Javascript公开的任何方法都需要@JavascriptInterface
注释:
class MyJavaScriptInterface{
@JavascriptInterface
public void myMethod(boolean success){
//Do something with value
}
}
然后在WebView上初始化界面:
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new MyJavaScriptInterface(), "JSInterface");
最后,创建Javascript函数以从您的网站调用Java方法:
<script>
//Communicate with Javascript Interface
var processComplete = function(success){
//Only call if the interface exists
if(window.JSInterface){
window.JSInterface.myMethod(success);
}
};
</script>