Ich verwende den folgenden Code, um ein Objekt an Cordova zurückzugeben, wenn sich der Scan-Modus des Geräts Bluetooth ändert (d. H. Erkennbar/nicht erkennbar).EXTRA_PREVIOUS_SCAN_MODE gibt immer einen Fehler für Android Bluetooth zurück
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));
ist jedoch intent.getIntExtra(BluetoothAdapter.EXTRA_PREVIOUS_SCAN_MODE,BluetoothAdapter.ERROR)
immer BluetoothAdapter.ERROR
. Ich habe versucht, die Auffindbarkeit mehrmals hintereinander ein- und auszuschalten und es ist immer BluetoothAdapter.ERROR
. Wie kann ich den vorherigen Scanmodus wiederherstellen?
Was ist in der Absicht, die Sie analysieren? Versuchen Sie, die Schlüsselwertpaare über Iterator auszudrucken. – Cookster
Die Absicht ist, Bluetooth als erkennbar (von anderen Geräten) zu setzen. Welche Schlüssel-Wert-Paare drucke ich? –
funktioniert dieser BluetoothAdapter.EXTRA_PREVIOUS_CONNECTION_STATE nicht mit der erforderlichen Bedingung? – pratz9999