cordova-5.1.1版本,在Fragment布局中使用Cordfova的SystemWebView控件,自定义插件中执行:
cordova.startActivityForResult((CordovaPlugin)this,intent,1);
当从调转页面返回时,该插件中的 onActivityResult()并没有执行,而是,当你再次点击调转页面时才会执行,与自己的需求向违背;
摸索了很久,终于找到解决办法;
(1)在该fragment所在的Activity中,创建一个静态属性,并重写onActivityResult()方法;例如:
public static CordovaPlugin mCordovaPlugin; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { CordovaPlugin cordovaPlugin = this.mCordovaPlugin; if(cordovaPlugin != null){ cordovaPlugin.onActivityResult(requestCode,resultCode,data); } super.onActivityResult(requestCode, resultCode, data); }(2)在插件中执行调转语句 cordova.startActivityForResult((CordovaPlugin)this,intent,1); 的前面加如下代码:MainActivity.mCordovaPlugin = (CordovaPlugin) this;如下:MainActivity.mCordovaPlugin = (CordovaPlugin) this; cordova.startActivityForResult((CordovaPlugin)this,intent,1);(3)可以在插件中重写onActivityResult()方法即可;