所以我有一个插件,通过我的插件中的Intent启动本机应用程序。但是,当本机应用程序启动时,我收到一条相当简短的错误消息,而且我不确定如何调试它或去哪里。
错误消息显示为"com.xxx.mine.IMAGE_CAPTURE has stopped working"
并且logcat显示E/chromium: [ERROR:gin_java_bridge_message_filter.cc(106)] WebView: Unknown frame routing id: 1
。
以下是一些供参考的代码
JAVA CODE
public class MyPlugin extends CordovaPlugin {
public static final String TAG = "MyPlugin";
public CordovaInterface mCordova;
public MyPlugin() {}
public void initialize(CordovaInterface cordova, CordovaWebView webView) {
super.initialize(cordova, webView);
mCordova = cordova;
}
public boolean execute(final String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
startCameraActivity();
return true;
}
private void startCameraActivity() {
Intent i = new Intent("com.xxx.mine.IMAGE_CAPTURE");
i.putExtra("USER_EXTRA", "test_user");
....
mCordova.startActivityForResult(this, i, 567);
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data != null && requestCode == 567) {
Log.e("RESULT", "SUCCESSFUL");
} else {
Log.e("RESULT", "ERROR");
}
super.onActivityResult(requestCode, resultCode, data);
}
}
如果您想查看任何HTML或JavaScript代码,请告诉我,但我不认为问题出在哪里。老实说虽然我不知道问题是什么,因为当我谷歌的错误消息我得到0有用的结果。我的直觉告诉我,webview很难充实应用程序的观点,但这就是我得到的全部内容。我将接受任何帮助,无论是调试此错误消息的方法,还是您之前已经看过此错误消息以及如何解决它。谢谢!
答案 0 :(得分:0)
我能够通过在Android工作室中创建本机Android应用程序并集成插件代码来调试它。原来我发送的一些JSON作为一个Intent Extra期待一个JSONObject但是得到了一个JSONArray。如果其他人遇到这个问题,也许这将是你的解决方案。如果没有尝试做我做的事情。在Android Studio中创建应用程序并从那里进行调试。
答案 1 :(得分:0)
请检查模块中的targetSdkVersion
值是否小于16,如下所示:
minSdkVersion 16
targetSdkVersion 16
它会正确显示您的HTML。