微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 第二个插件调用后收到的Cordova插件回调

我创建了一个cordova插件(3.3.0),它启动一个活动并等待结果.但回调(简单警报)不会在插件第二次播出之前调用.这是代码

public boolean execute(String action, final JSONArray args, final CallbackContext cbc) throws JSONException
{
    this.callbackContext = cbc;

    try
    {
        Intent i = new Intent(cordova.getActivity(), ActivityCamera.class);

        this.cordova.setActivityResultCallback(PhotoMokoPlugin.this);
        this.cordova.startActivityForResult(PhotoMokoPlugin.this, i, 0);

        PluginResult pr = new PluginResult(PluginResult.Status.NO_RESULT);
        pr.setKeepCallback(true);
        callbackContext.sendpluginResult(pr);
        return true;
    }
    catch (JSONException e)
    {
        callbackContext.sendpluginResult(new PluginResult(PluginResult.Status.JSON_EXCEPTION));
        return false;
    }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
    super.onActivityResult(requestCode, resultCode, intent);

    try
    {
        callbackContext.success(json.toString()); // Doesn't matter if success or error
    }
    catch (JSONException e)
    {
        callbackContext.sendpluginResult(new PluginResult(PluginResult.Status.ERROR));
    }
}

ActivityCamera只有setResult有一个新的Intent avec finish();

例如:如果我点击调用插件的按钮,则没有任何反应.我再次点击,显示警报消息,仅此而已(通常是另一个警报)……

你有什么主意吗 ?

告诉我是否需要更多代码.

编辑:更新Cordova没有解决问题.

编辑2:问题似乎来自这个代码

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus)
    {
        getwindow().getDecorView().setsystemUIVisibility(View.SYstem_UI_FLAG_LAYOUT_STABLE
            | View.SYstem_UI_FLAG_LAYOUT_HIDE_NAVIGATION
            | View.SYstem_UI_FLAG_LAYOUT_FULLSCREEN
            | View.SYstem_UI_FLAG_HIDE_NAVIGATION
            | View.SYstem_UI_FLAG_FULLSCREEN
            | View.SYstem_UI_FLAG_IMMERSIVE_STICKY);
    }
}

如果我删除它,第一次调用回调.有问题吗?

解决方法:

在这种情况下我也遇到了麻烦.

在我的例子中,插件是从标签中触发的,其中在iframe内容中绑定了单击处理程序.
当我移动标签并单击处理程序到父文档时,问题就解决了.

你能尝试这些吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐