/ / Bluetooth broadcastreceiver, ako sa dostať k BleutoothClass - android, android zámer, bluetooth, broadcastreceiver

Bluetooth vysielač, ako získať BleutoothClass - android, android-intent, bluetooth, vysielač

Chcem vyrobiť prijímač Bluetooth, ktorý reaguje iba na pripojenie k internetu Súprava do auta Bluetooth handsfree, Ale neviem, ako to odfiltrovať.

Existuje nejaký spôsob, ako získať BluetoothClass.Device z úmyslu, alebo existuje iný spôsob, ako to dosiahnuť?

Začal som s niečím ako dole, ale nedostal som správnu cestu. Jedným dodatkom je, že keď sa odpojíte od zariadenia, vyvolá sa nasledujúci blok if (funguje to iba bez tohto final int state = intent.getIntExtra(???);

if (action.equals("android.bluetooth.device.action.ACL_CONNECTED")) {
final int state = intent.getIntExtra(???);
}

Dúfam, že by ste mi mohli pomôcť, nádrže všetkým.


RIEŠENIE:

BluetoothDevice device = (BluetoothDevice) intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

int btClass = device.getBluetoothClass().getDeviceClass();

if (btClass == BluetoothClass.Device.AUDIO_VIDEO_HANDSFREE|| btClass == BluetoothClass.Device.AUDIO_VIDEO_CAR_AUDIO){...}

odpovede:

0 pre odpoveď č. 1

Budete chcieť zaregistrovať svoj BroadcastReceivers filtrom, ktorý počúva na BluetoothHeadset.ACTION_CONNECTION_STATE_CHANGED (trieda BluetoothHeadset je pre profily náhlavnej súpravy a handsfree). K svojmu manifestu budete musieť pridať aj povolenie BLUETOOTH.

Týmto získate zmenu pripojenia, takže na zistenie, či je pripojenie pripojené alebo odpojené, budete musieť použiť rozhranie Bluetooth API.

Ak chcete získať zariadenie, môžete použiť zoznam BluetoothHeadset.getDevicesMatchingConnectionStates (stavy int []) na zoznam všetkých pripojených zariadení, ktoré sú pripojené.