cordova神bug:CordovaPlugin: Attem

2019-06-12  本文已影响0人  满船清梦___

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. 原理
    待续......................
上一篇 下一篇

猜你喜欢

热点阅读