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