Следующий код не работает должным образом:
public class TestPlugin extends CordovaPlugin {
public static CallbackContext callbackContext;
class TestRun implements Runnable {
public void run() {
try {
Thread.sleep(10000);
} catch (InterruptedException e) {}
PluginResult result = new PluginResult(PluginResult.Status.OK, callbackContext.getCallbackId());
result.setKeepCallback(false);
callbackContext.sendPluginResult(result);
}
}
@Override
public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
this.callbackContext = callbackContext;
TestRun tr = new TestRun();
new Thread(tr).start();
return true;
}
}
JS-код:
var Test = {
getBTPrinters: function(successCallback, errorCallback) {
cordova.exec(successCallback, errorCallback, "TestPlugin", "test", []);
setTimeout(function(){ cordova.exec(successCallback, errorCallback, "TestPlugin", "test", []); }, 30000);
}
}
Обратный вызов onsuccess в моем коде Javascript не вызывается, когда я вызываю метод из TestPlugin в первый раз.
Когда я вызываю метод из этого плагина во второй раз, я получаю обратный вызов onsuccess из первый вызов.
После третьего вызова метода плагина я получаю обратный вызов onsuccess от второго вызова.
И так далее и тому подобное. Это ошибка Cordova/Phonegap?
Или я неправильно использую плагин?