Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中执行两次cordova回调(成功或错误)_Java_Android_Cordova - Fatal编程技术网

如何在java中执行两次cordova回调(成功或错误)

如何在java中执行两次cordova回调(成功或错误),java,android,cordova,Java,Android,Cordova,我有以下问题,我收到来自cordova 2的回调(成功和错误),我需要多次触发成功回调 问题是cordova似乎不允许执行回调两次,它只执行一次 //Will be executed once, whatever i do, only 1 time callbacks.sendPluginResult(new PluginResult(PluginResult.Status.OK, contenedor.toString())); // It doesn't trigger anymore of

我有以下问题,我收到来自cordova 2的回调(成功和错误),我需要多次触发成功回调

问题是cordova似乎不允许执行回调两次,它只执行一次

//Will be executed once, whatever i do, only 1 time
callbacks.sendPluginResult(new PluginResult(PluginResult.Status.OK, contenedor.toString()));
// It doesn't trigger anymore of anyway :(
 callbacks.success(contenedor.toString());
 callbacks.sendPluginResult(new PluginResult(PluginResult.Status.OK, contenedor.toString()));
 callbacks.success(contenedor.toString());
出于某种原因,我需要每x次多次发送一个字符串(我希望通过执行Success回调来实现这一点),并且我需要重复回调:(

我尝试过,但没有成功,成功回调仍然只触发一次!有没有方法可以轻松执行两次回调

已解决(facepalm)

如果有人遇到此问题,请快速解决:

PluginResult resulta = new PluginResult(PluginResult.Status.OK, "first response");
resulta.setKeepCallback(true);
callbacks.sendPluginResult(resulta);

PluginResult resultb = new PluginResult(PluginResult.Status.OK, "2nd response");
resultb.setKeepCallback(true);
callbacks.sendPluginResult(resultb);
请记住,如果是异步调用,我们首先需要不返回任何结果

PluginResult pluginResult = new  PluginResult(PluginResult.Status.NO_RESULT); 
        pluginResult.setKeepCallback(true); // Keep callback

        return true; // in execute method

今天我跳进了同一个问题,然后看到了这篇文章,所以我想再回答一遍,以便更好地理解

因此,如果您希望收到两次或两次以上的回调,请不要使用success()方法我重复不要使用success()方法。这就是我遇到的问题。因此,请仅使用以下方法

 PluginResult result = new PluginResult(PluginResult.Status.OK, <Your Result>);
 result.setKeepCallback(true);
 callback.sendPluginResult(result);
PluginResult结果=新的PluginResult(PluginResult.Status.OK,);
result.setKeepCallback(true);
callback.sendPluginResult(结果);