Ho realizzato un progetto, in cui ho stabilito una comunicazione di successo dal mio plug-in bluetooth al mio javascript. Dal mio Javascript registro un callback al mio plugin in questo modo in java:PhoneGap setKeepCallback - Che cosa fa?
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);
}
}
questo è ovviamente fatto nella funzione exec. a causa del fatto, che gli eventi bluetooth non arrivano in determinati momenti, ho registrato un ricevitore broadcast, che invia messaggi al mio javascript, quando viene trovato un dispositivo per esempio.
if(BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
sendMessagetoJSCallback(new PluginResult(PluginResult.Status.OK, "Discovery finished."));
}
La funzione di appartenenza per l'invio:
public void sendMessagetoJSCallback(PluginResult res) {
res.setKeepCallback(true);
success(res, mJSCallback);
}
Quello che non ho davvero capito in quel contesto è, cosa fa setKeepCallback in quelle diverse funzioni. Pensavo che ci sarebbe stata una documentazione, ma non c'è.
Qualcuno può dirmelo? Ho orientato lo sviluppo su https://github.com/phonegap/phonegap-plugins/tree/master/Android/PhoneListener