从Android的最新Cordova版本(5.0.0)访问appView时,我确实遇到了麻烦。

例如,说我想向我的应用添加Javascript接口。在此版本之前,我曾经编写以下代码行:

super.appView.addJavascriptInterface(new WebAppInterface(this), "jsInterface");

然后WebAppInterface:
public class WebAppInterface { ... }

现在,它根本不起作用。科尔多瓦最近有改变吗?我真的不知道该怎么办。

在这两种情况下(先前版本和新版本),我的主要活动都具有以下结构:
public class CordovaApp extends CordovaActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.init();
        loadUrl(Config.getStartUrl());
        ...
}

最佳答案

经过几天的寻找解决方案,我终于使该应用程序开始工作。

Cordova更改了访问Android webView的方式。使用Cordova 5.0.0和更高版本的开发人员需要将此行添加到他们的主要活动中:

WebView wV = (WebView)appView.getEngine().getView();

然后,只需照常调用wV。例如,要添加一个Javascript接口:
wV.addJavascriptInterface(new WebAppInterface(this), "jsInterface");

我希望这个答案能帮助对这个新更新感到困惑的其他人。

08-05 20:27