我在从适用于 Android (5.0.0) 的最新 Cordova 版本访问 appView
时遇到了真正的麻烦。
例如,假设我想在我的应用程序中添加一个 Javascript 界面。在这个版本之前,我曾经写过这行代码:
super.appView.addJavascriptInterface(new WebAppInterface(this), "jsInterface");
然后是 WebAppInterface
:
public class WebAppInterface { ... }
现在,它根本不起作用。 Cordova 最近改变了什么吗?我真的不知道该怎么做。
在这两种情况下(旧版本和新版本),我的主要 Activity 都具有以下结构:
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 和更新版本的开发人员需要将此行添加到他们的主要 Activity 中:
WebView wV = (WebView)appView.getEngine().getView();
然后,像往常一样调用 wV。例如,要添加一个 Javascript 接口(interface):
wV.addJavascriptInterface(new WebAppInterface(this), "jsInterface");
我希望这个答案能帮助其他对这个新更新感到困惑的人。
关于java - 从 Cordova 5.0.0 访问 appView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29992669/