一、问题背景
Android集成cordova能力想要实现相册能力,自定义插件,将Cordova的webview放在fragment中显示,但是实现过程发现 fragment onActivityResult没有回调,示例如下
cordova.startActivityForResult(this, intent, "1")
二、问题解决
1.我们需要在插件中赋值plugin进行回调,在activity进行声明plugin及调用
var cPlugin: CordovaPlugin? = null
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
var mcPlugin = cPlugin
if (mcPlugin != null) {
mcPlugin?.onActivityResult(requestCode, resultCode, data);
}
super.onActivityResult(requestCode, resultCode, data)
}
2.在插件中进行赋值,赋值后就可以在插件中拿到onActivityResult的回调了
targetActivity.cPlugin = this
c.startActivityForResult(this, intent, "1")