Zrobiłem projekt, w którym nawiązałem pomyślną komunikację z wtyczki bluetooth do mojego javascript. Z mojej JavaScript rejestruję wywołanie zwrotne do mojej wtyczki w ten sposób w java:PhoneGap setKeepCallback - co to jest?
if (action.equals(ACTION_REGISTER_CALLBACK)) {
if(mJSCallback != null) {
pluginResult = new PluginResult(PluginResult.Status.ERROR, "An event callback has already been registered.");
} else {
mJSCallback = callbackId;
pluginResult = new PluginResult(PluginResult.Status.NO_RESULT);
pluginResult.setKeepCallback(true);
}
}
jest to oczywiście wykonywane w funkcji exec. ze względu na to, że zdarzenia bluetooth nie przychodzą w określonych momentach czasu, zarejestrowałem odbiornik, który wysyła wiadomości do mojego javascriptu, gdy na przykład znajduje się takie urządzenie.
if(BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
sendMessagetoJSCallback(new PluginResult(PluginResult.Status.OK, "Discovery finished."));
}
Funkcja przynależności do wysyłania:
public void sendMessagetoJSCallback(PluginResult res) {
res.setKeepCallback(true);
success(res, mJSCallback);
}
Co ja naprawdę nie rozumiem w tym kontekście to, co setKeepCallback robi w tych różnych funkcji. Myślałem, że będzie dokumentacja, ale nie ma.
Czy ktoś może mi powiedzieć? Ukierunkowałem rozwój na https://github.com/phonegap/phonegap-plugins/tree/master/Android/PhoneListener