Как получить отключающее событие ble в Oreo +? - PullRequest
0 голосов
/ 07 февраля 2019

Я попытался подключиться с помощью широковещательного приемника и использовать событие подключения адаптера Bluetooth, но не могу получить событие отключения.Я могу подключиться, отключить событие, но не могу получить событие отключения.

This is my code please help me with that.

@Override
    public void onReceive(Context context, Intent intent) {
        final String action = intent.getAction();
        if (action != null) {

            if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {
                final int bluetoothState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
                        BluetoothAdapter.ERROR);
                switch (bluetoothState) {
                    case BluetoothAdapter.STATE_ON:
                        //Bluethooth is on, now you can perform your tasks
                        Log.e("STAGE ", "State On");
                        break;
                    case BluetoothAdapter.STATE_OFF:
                        Log.e("STAGE ", "State Off");
                        break;
                    case BluetoothAdapter.STATE_CONNECTED:
                        Log.e("STAGE ", "STATE_CONNECTED");
                        break;
                    case BluetoothAdapter.STATE_CONNECTING:
                        Log.e("STAGE ", "STATE_CONNECTING");
                        break;
                    case BluetoothAdapter.STATE_DISCONNECTED:
                        Log.e("STAGE ", "SSTATE_DISCONNECTED");
                        break;
                    case BluetoothAdapter.STATE_DISCONNECTING:
                        Log.e("STAGE ", "STATE_DISCONNECTING");
                        break;
                }
            }
        }
    }

в моем коде

case BluetoothAdapter.STATE_CONNECTING:
Log.e("STAGE ", "STATE_CONNECTING");
break;

case BluetoothAdapter.STATE_DISCONNECTING:
Log.e("STAGE ", "STATE_DISCONNECTING");
break;

не работает, не получает никакого журнала.

Я использую этот код для регистрации получателя

BluetoothReciever bluetoothReciever = new BluetoothReciever();
        IntentFilter intentFilter = new IntentFilter("android.bluetooth.adapter.action.STATE_CHANGED");
intentFilter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY);
        registerReceiver(bluetoothReciever, intentFilter);
...