科尔多瓦错误 "WebView: Unknown frame routing id: 1"
Cordova Error "WebView: Unknown frame routing id: 1"
所以我有一个插件可以通过插件中的 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 代码
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 代码,请告诉我,但我认为这不是问题所在。老实说,虽然我不知道问题出在哪里,因为当我 google 错误消息时,我得到 0 个有用的结果。我的直觉告诉我 webview 很难夸大应用程序的视图,但这就是我所得到的。我会接受任何帮助,无论是调试此错误消息的方法,还是你们中的任何人之前看到过此错误消息以及如何解决它。谢谢!
我能够通过在 Android studio 中创建本机 android 应用程序并集成插件代码来调试它。结果我发送了一些 JSON 作为 Intent Extra 期待 JSONObject 但得到的是 JSONArray。如果其他人遇到这个问题,也许这就是您的解决方案。如果不尝试做我所做的。在 Android Studio 中创建应用并从那里进行调试。
请检查您模块中的 targetSdkVersion
值是否小于 16,如下所示:
minSdkVersion 16
targetSdkVersion 16
它将正确显示您的 HTML。
所以我有一个插件可以通过插件中的 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 代码
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 代码,请告诉我,但我认为这不是问题所在。老实说,虽然我不知道问题出在哪里,因为当我 google 错误消息时,我得到 0 个有用的结果。我的直觉告诉我 webview 很难夸大应用程序的视图,但这就是我所得到的。我会接受任何帮助,无论是调试此错误消息的方法,还是你们中的任何人之前看到过此错误消息以及如何解决它。谢谢!
我能够通过在 Android studio 中创建本机 android 应用程序并集成插件代码来调试它。结果我发送了一些 JSON 作为 Intent Extra 期待 JSONObject 但得到的是 JSONArray。如果其他人遇到这个问题,也许这就是您的解决方案。如果不尝试做我所做的。在 Android Studio 中创建应用并从那里进行调试。
请检查您模块中的 targetSdkVersion
值是否小于 16,如下所示:
minSdkVersion 16
targetSdkVersion 16
它将正确显示您的 HTML。