是的,您可以通过 JavaScript 接口实现这一点。通过这个,JavaScript 可以调用您附加的接口中定义的函数。
http://developer.android.com/guide/webapps/webview.html
在你的Activity
:
WebAppInterface mInterface;
public void onCreate() {
mInterface = new WebAppInterface(this);
mWebView.addJavascriptInterface(mInterface, "MyAndroidInterface")
}
现在定义一个调用将转到的对象:
public class WebAppInterface {
Context mContext;
/** Instantiate the interface and set the context */
WebAppInterface(Context c) {
mContext = c;
}
/** Show a toast from the web page */
@JavascriptInterface
public void showToast(String toast) {
Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show();
}
}
现在Javascript
你可以这样做:
MyAndroidInterface.showToast("hello world");
返回(从native
到Javascript
)的方式,您可以通过Javascript injection
. 定义函数Javascript
:
function helloBack(param) {
}
现在你可以打电话mWebView.loadUrl("javascript:helloBack(hi);");