Wie um zu überprüfen, ob die bluetooth-Verbindung zu einem Gerät getrennt ist?

Ich möchte wissen, Wann meine bluetooth-Verbindung zum Gerät getrennt wird. Ich fand das zu überprüfen:

    IntentFilter filter1 = new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED);
    IntentFilter filter2 = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECT_REQUESTED);
    IntentFilter filter3 = new IntentFilter(BluetoothDevice.ACTION_ACL_DISCONNECTED);
    this.registerReceiver(mReceiver, filter1);
    this.registerReceiver(mReceiver, filter2);
    this.registerReceiver(mReceiver, filter3);

  //The BroadcastReceiver that listens for bluetooth broadcasts
   mReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            String action = intent.getAction();
            BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

            if (BluetoothDevice.ACTION_FOUND.equals(action)) {
               //Device found
            }
            else if (BluetoothAdapter.ACTION_ACL_CONNECTED.equals(action)) {
               //Device is now connected
            }
            else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
                //Done searching
            }
            else if (BluetoothAdapter.ACTION_ACL_DISCONNECT_REQUESTED.equals(action)) {
               //Device is about to disconnect
            }
            else if (BluetoothAdapter.ACTION_ACL_DISCONNECTED.equals(action)) {
               //Device has disconnected
            }           
        }
    };

Aber die ACTION_ACL_FOUND, ACTION_ACL_DISCONNECT_REQUESTED und die ACTION_ACL_DISCONNECTED im onReceive Methode kann nicht aufgelöst werden oder ist nicht ein Feld.

So, warum Sie nicht gelöst werden können?

Oder gibt es eine andere, neue Lösung?

Nicht du meinst BluetoothDevice.ACTION_ACL_FOUND? Diese Felder existieren nicht in BluetoothAdapter.
Ich bezog mich tho: stackoverflow.com/questions/4715865/...
Ändern Sie alle Referenzen auf die Felder, die nicht funktionieren zu BluetoothDevice. Die Felder existieren nicht in BluetoothAdapter. (developer.android.com/reference/android/bluetooth/...)
Aber die ACTION_DISOVERY_FINISHED funktioniert auf BluetoothAdapter. Also ich habe gerade die 3, die nicht funktioniert?

InformationsquelleAutor silvia_aut | 2013-10-25

Schreibe einen Kommentar