В андроиде, как моя активность может узнать, подключено ли устройство Bluetooth A2DP к моему устройству.
Есть ли радиопередатчик для этого?
Как записать этот приемник вещания?Как определить, подключено ли устройство Bluetooth
ответ
Начиная с API 11 (Android 3.0), вы можете использовать BluetoothAdapter для обнаружения устройств, подключенных к определенному профилю Bluetooth. Я использовал код ниже, чтобы открыть устройство по его имени:
BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
BluetoothProfile.ServiceListener mProfileListener = new BluetoothProfile.ServiceListener() {
public void onServiceConnected(int profile, BluetoothProfile proxy) {
if (profile == BluetoothProfile.A2DP) {
boolean deviceConnected = false;
BluetoothA2dp btA2dp = (BluetoothA2dp) proxy;
List<BluetoothDevice> a2dpConnectedDevices = btA2dp.getConnectedDevices();
if (a2dpConnectedDevices.size() != 0) {
for (BluetoothDevice device : a2dpConnectedDevices) {
if (device.getName().contains("DEVICE_NAME")) {
deviceConnected = true;
}
}
}
if (!deviceConnected) {
Toast.makeText(getActivity(), "DEVICE NOT CONNECTED", Toast.LENGTH_SHORT).show();
}
mBluetoothAdapter.closeProfileProxy(BluetoothProfile.A2DP, btA2dp);
}
}
public void onServiceDisconnected(int profile) {
// TODO
}
};
mBluetoothAdapter.getProfileProxy(context, mProfileListener, BluetoothProfile.A2DP);
Вы можете сделать это для каждого профиля Bluetooth. Взгляните на Working with profiles в руководстве по Android.
Однако, как написано в других ответах, вы можете зарегистрировать BroadcastReceiver для прослушивания событий соединения (например, когда вы работаете на android < 3.0).
Вы не можете получить список подключенных устройств, вызвав любой API. Вам нужно вместо этого прослушать намерения ACTION_ACL_CONNECTED, ACTION_ACL_DISCONNECTED, который уведомляет об устройствах, которые подключены или отключены. Невозможно получить начальный список подключенных устройств.
У меня была эта проблема в моем приложении и то, как я ее обрабатываю (не нашел лучшего ...), чтобы отскакивать от Bluetooth в начале приложения, чтобы начать с пустого списка подключенных устройств , а затем прослушайте вышеупомянутые намерения.
Ответ муслидрика в целом правильный; однако вы также можете использовать fetchUUIDsWithSDP() и посмотреть, что вы вернетесь ... это немного взломать - вам нужно знать, какие UUID (возможности) вы могли бы ожидать от устройства, если бы оно было включено. И это может быть трудно гарантировать.
В вашей деятельности, определять вещательный приемник ...
// Create a BroadcastReceiver for ACTION_FOUND
private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_FOUND.equals(action)) {
// Get the BluetoothDevice object from the Intent
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
// Add the name and address to an array adapter to show in a ListView
mArrayAdapter.add(device.getName() + "\n" + device.getAddress());
}
}
};
// Register the BroadcastReceiver
IntentFilter filter = new IntentFilter(BluetoothDevice.ACTION_FOUND);
registerReceiver(mReceiver, filter); // Don't forget to unregister during onDestroy
Решение, которое вы предоставили, проверяет устройства, к которым может быть доставлено ваше устройство. –
Для BluetoothHeadset конкретно, вы можете вызвать getConnectedDevices(), чтобы получить подключенные устройства для этого конкретного профиля.
Ссылка: http://developer.android.com/reference/android/bluetooth/BluetoothHeadset.html
Другие случаи, которые необходимо зарегистрировать приемник для этого.
- 1. Как программно определить, подключено ли устройство Bluetooth? (Android 2.2)
- 2. Определите, подключено ли устройство Bluetooth на iPhone.
- 3. Как узнать, подключено ли устройство Bluetooth? Мой код не работает
- 4. Как определить, подключено ли устройство Android к внешней клавиатуре?
- 5. Обнаружить, если подключено устройство Bluetooth (андроид)
- 6. android - как проверить, подключено ли устройство к Bluetooth
- 7. Как узнать, подключено ли устройство Bluetooth с его адресом?
- 8. Как проверить, подключено ли устройство Bluetooth в телефоне
- 9. Сбой Android Bluetooth, когда устройство не подключено
- 10. В настоящее время подключено устройство Bluetooth android
- 11. Bluetooth-устройство иногда подключено, иногда нет
- 12. Как определить, когда USB-устройство подключено/отключено?
- 13. Необходимо знать, подключено ли устройство серийно или Bluetooth
- 14. Можно ли определить, подключено ли устройство Android к маршрутизатору?
- 15. Как определить, подключено ли устройство Windows с сенсорным управлением?
- 16. Как определить, подключено ли устройство к Интернету в мобильном приложении?
- 17. Как определить, подключено ли устройство перемещения прыжка (obj-c)
- 18. не подключено устройство ios подключено
- 19. Как узнать, подключается ли устройство bluetooth?
- 20. Как узнать, когда подключено устройство HID USB/Bluetooth в какао?
- 21. Определить, подключено ли устройство Android к компьютеру с помощью java
- 22. Узнайте, подключено ли устройство к Facebook
- 23. Используйте Java, чтобы определить, подключено ли устройство к компьютеру.
- 24. Android: программно определить, подключено ли устройство к сенсорному экрану
- 25. Как проверить, подключено ли устройство Pyserial
- 26. Как проверить, подключено ли данное USB-устройство?
- 27. Как проверить, подключено ли устройство Airplay
- 28. Как определить, подключен ли Bluetooth?
- 29. Как проверить, подключено ли сопряженное устройство или нет - Android-программа
- 30. iOS - приложение пробуждения, когда подключено какое-либо устройство Bluetooth
Bluetooth был улучшен начиная с API 16 (в API 19 был введен BluetoothManager, и это очень хорошо сделано) .. но для более старых уровней API это правильное решение. –