Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用cordova插件crosswalk webview从JS调用本机java代码_Javascript_Android_Cordova_Webview - Fatal编程技术网

Javascript 使用cordova插件crosswalk webview从JS调用本机java代码

Javascript 使用cordova插件crosswalk webview从JS调用本机java代码,javascript,android,cordova,webview,Javascript,Android,Cordova,Webview,我可以使用@JavascriptInterface在Cordova 5.4.0应用程序中成功地从JS调用本机java代码。但在添加cordova插件crosswalk webview后,它就不起作用了。搜索后,我已将代码修改为:- public class MainActivity extends CordovaActivity{ @Override public void onCreate(Bundle savedInstanceState){ super.onCr

我可以使用@JavascriptInterface在Cordova 5.4.0应用程序中成功地从JS调用本机java代码。但在添加cordova插件crosswalk webview后,它就不起作用了。搜索后,我已将代码修改为:-

public class MainActivity extends CordovaActivity{
    @Override
    public void onCreate(Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      loadUrl("file://android_assets/www/index.html");
      ((XWalkView)appView.getEngine().getView()).addJavascriptInterface(this,"MainActivity");
    }

   @JavascriptInterface
   public void getMessage() {
        Toast.makeText(getApplicationContext(), "this is my Toast message!!!  =)",Toast.LENGTH_LONG).show();
   }

}
并从js调用本机代码,如下所示:

window.MainActivity.getMessage();
我还进口了

import org.xwalk.core.JavascriptInterface;
import org.xwalk.core.XWalkView;
也试着换了

@JavascriptInterface

现在这个应用甚至没有打开。它崩溃了。帮助Plz.

请更新config.xml 首选项名称=android minSdkVersion值=16 进入 首选项名称=android minSdkVersion值=17 和使用 导入org.xwalk.core.JavascriptInterface; 使用cordova 6.3.0版或更新版

在onXWalkReady中调用addJavaScriptInterface,而不是在onCreate回调中这样做,解决了我的问题


注意:方法链接不是一个好的做法。

任何异常消息?java.lang.RuntimeException:无法启动活动组件信息{com.cloudlabz.allsaletags/com.cloudlabz.allsaletags.MainActivity}:java.lang.UnsupportedOperationException:AddJavaScriptInterface为什么不改用cordova插件呢?是的,最后,在花了1.5个月的时间之后,我不得不使用插件。
@org.xwalk.core.JavascriptInterface