уведомление, если Bluetooth отключен в приложении для Android - PullRequest
15 голосов
/ 22 марта 2011

Я сейчас работаю над приложением для Android .. Я должен уведомить пользователя всякий раз, когда Bluetooth устройства выключено, пока приложение в настоящее время работает.. Как оповестить удаленное устройство тат BT? выключен? Заранее спасибо

Ответы [ 2 ]

25 голосов
/ 22 марта 2011

Зарегистрируйте BroadcastReceiver с намеренным действием BluetoothAdapter.ACTION_STATE_CHANGED и переместите код уведомления в метод onReceive. Не забудьте проверить, не выключено ли новое состояние

if(BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) {
    if(intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, -1) 
        == BluetoothAdapter.STATE_OFF)
        // Bluetooth was disconnected
}
11 голосов
/ 29 октября 2014

Если вы хотите определить, когда пользователь ОТКЛЮЧАЕТ свой Bluetooth, а позже - определить, когда пользователь отключил Bluetooth, вам необходимо выполнить следующие действия:

1) Получить пользовательский адаптер BluetoothAdapter.:

BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();    

2) Создайте и настройте свой приемник, используя такой код:

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {

        String action = intent.getAction();

        // It means the user has changed his bluetooth state.
        if (action.equals(BluetoothAdapter.ACTION_STATE_CHANGED)) {

            if (btAdapter.getState() == BluetoothAdapter.STATE_TURNING_OFF) {
                // The user bluetooth is turning off yet, but it is not disabled yet.
                return;
            }

            if (btAdapter.getState() == BluetoothAdapter.STATE_OFF) {
                // The user bluetooth is already disabled.
                return;
            }

        }
    }
};    

3) Зарегистрируйте свой BroadcastReceiverв вашу деятельность:

this.registerReceiver(mReceiver, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...