Web View中的addJavascriptInterface Android

时间:2016-05-03 09:00:33

标签: javascript java android webview

我有这样的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");

0 个答案:

没有答案