2015-05-31 8 views
19

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?

+0

Was ist in der Absicht, die Sie analysieren? Versuchen Sie, die Schlüsselwertpaare über Iterator auszudrucken. – Cookster

+0

Die Absicht ist, Bluetooth als erkennbar (von anderen Geräten) zu setzen. Welche Schlüssel-Wert-Paare drucke ich? –

+0

funktioniert dieser BluetoothAdapter.EXTRA_PREVIOUS_CONNECTION_STATE nicht mit der erforderlichen Bedingung? – pratz9999

Antwort

2

Von dem, was ich in der AOSP Quelle sehe, EXTRA_PREVIOUS_SCAN_MODE wird nie verwendet. Ich denke, die Dokumentation von Google ist in diesem Fall falsch. Wenn Sie suchen here führt zu keinen Referenzen im gesamten Quellcode

Verwandte Themen