Устройство Android просыпается через сопряженное устройство Bluetooth

У меня есть Android-устройство на Jelly Bean, и я хочу, чтобы оно просыпалось при обнаружении уже сопряженного устройства в диапазоне Bluetooth. Я предполагаю, что это служебный вещательный приемник, но я не знаю, как он должен работать.


person Milly    schedule 09.10.2012    source источник


Ответы (1)


Зарегистрируйте BroadcastReceiver для прослушивания BluetoothDevice.ACTION_BOND_STATE_CHANGED.

Внутри BroadcastReciever:

public void onReceive(Context context, Intent intent)
{
  if (BluetoothDevice.ACTION_BOND_STATE_CHANGED.equals(intent.getAction()))
  {

     int bondState = intent.getIntExtra(BluetoothDevice.EXTRA_BOND_STATE, -1);

       if (bondState == BluetoothDevice.BOND_BONDED)
        {
              // wake up 
        }           

  }
}
person Priyank Patel    schedule 09.10.2012
comment
Будет ли это работать, если телефон спит (экран выключен, нет пробуждения)? - person stackoverflowuser2010; 11.07.2013
comment
Может ли это использоваться разработчиком приложения для пробуждения приложения? - person PEZ; 30.09.2013
comment
Интересно, что я получаю EXTRA_BOND_STATE только после первого сопряжения устройства с телефоном. Не каждый раз, если телефон находится рядом с устройством BLE. - person ATom; 30.12.2014