科尔多瓦错误 "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。