我有这样的javascript:
GameManager.prototype.restart = function () {
AndroidFunction.showMessage("Hai");
};
并获得字符串" Hai"在android中,我可以使用此代码并工作
webView = (XWalkView) findViewById(R.id.walk_view);
webView .addJavascriptInterface(new WebAppInterface(), "AndroidFunction");
webView .loadUrl(someURL);
public class WebAppInterface {
@JavascriptInterface public void showMessage(String toast) {
Toast.makeText(PlayGameViewActivity.this, toast, Toast.LENGTH_SHORT).show();
}
}
但是当我将javascript更改为:
GameManager.prototype.restart = function () {
AndroidFunction.test.showMessage("Hai");
};
AndroidFunction 和 showMessage 之间有测试,这是我的java代码:
webView = (XWalkView) findViewById(R.id.walk_view);
webView .addJavascriptInterface(new WebAppInterface(), "AndroidFunction.test");
webView .loadUrl(someURL);
public class WebAppInterface {
@JavascriptInterface public void showMessage(String toast) {
Toast.makeText(PlayGameViewActivity.this, toast, Toast.LENGTH_SHORT).show();
}
}
我的WebAppInterface没有从javascript获取任何消息而是收到错误消息
未捕获的TypeError:无法读取属性' test'未定义的
,我的问题是如何获得 AndroidFunction.test.showMessage(" Hai");