cordova神bug:CordovaPlugin: Attempted to send a second callback for ID:

1 . 描述
前端Cordova .exec传入的回调无法接收到安卓端的消息
安卓端在接收到调用后, 在双层嵌套的handler里发出success消息

public void sendPluginResult(PluginResult pluginResult) {
        synchronized(this) {
            if (this.finished) {
                Log.w("CordovaPlugin", "Attempted to send a second callback for ID: " + this.callbackId + "\nResult was: " + pluginResult.getMessage());
                return;
            }

            this.finished = !pluginResult.getKeepCallback();
        }

        this.webView.sendPluginResult(pluginResult, this.callbackId);
    }

3.解决
发现有cordova.exec(null,null, "gcPlugin", "log", data);
怀疑null覆盖了其他调用传入的回调函数,
修改为非空alert,
发现未调用替换的alert, 而是调用原有回调

  1. 原理
    待续......................
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。