Sto usando il seguente codice per restituire un oggetto a Cordova quando cambia la modalità di scansione del Bluetooth del dispositivo (cioè rilevabile/non rilevabile).EXTRA_PREVIOUS_SCAN_MODE restituisce sempre un errore per Android Bluetooth
cordova.getActivity().getApplicationContext().registerReceiver(new BroadcastReceiver(){
@Override
public void onReceive(Context c,Intent intent){
JSONObject json=new JSONObject();
try{
json.put("current",intent.getIntExtra(BluetoothAdapter.EXTRA_SCAN_MODE,BluetoothAdapter.ERROR));
json.put("previous",intent.getIntExtra(BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE,BluetoothAdapter.ERROR));
}catch(JSONException e){
}
PluginResult result=new PluginResult(PluginResult.Status.OK,json);
result.setKeepCallback(true);
discoverableCallback.sendPluginResult(result); // discoverableCallback is a callbackContext
}
},new IntentFilter(BluetoothAdapter.ACTION_SCAN_MODE_CHANGED));
Tuttavia, intent.getIntExtra(BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE,BluetoothAdapter.ERROR)
è sempre BluetoothAdapter.ERROR
. Ho provato a impostare la rilevabilità avanti e indietro più volte consecutivamente ed è sempre BluetoothAdapter.ERROR
. Come faccio a ripristinare la modalità di scansione precedente?
Qual è l'intento che stai analizzando? Prova a stampare le coppie di valori chiave tramite Iterator. – Cookster
L'intento è quello di impostare il Bluetooth come rilevabile (da altri dispositivi). Quali coppie chiave/valore di variabile devo stampare? –
questo BluetoothAdapter.EXTRA_PREVIOUS_CONNECTION_STATE non funzionerà con le condizioni richieste? – pratz9999