Я могу видеть два состояния в устройстве Bluetooth в Android.
1. Сопряженный
2. Подключено. - Страница
Я пытаюсь получить подключенное в настоящее время устройство Bluetooth в Android. Но я получаю только парный список устройств из adapter.getBondedDevices();
Мне нужно подключенное в настоящее время устройство. Как я могу это получить. Пожалуйста, помогите мне в этом. Спасибо заранее.
В настоящее время подключено Bluetooth-устройство Android
Ответ 1
Это довольно прямолинейно. Android BluetoothManager имеют метод
getConnectedDevices()
Реализация как:
BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE);
List<BluetoothDevice> connected = manager.getConnectedDevices(GATT);
Log.i("Connected Devices: ", connected.size()+"");
Если вы хотите получить более подробную информацию о подключенных устройствах, вы можете использовать приведенный выше метод списка, поместив его в цикл for и получить внутренние данные каждого подключенного устройства Bluetooth.
Logs:
12-20 18:04:09.679 14933-14933/com.salman.dleague.blescanning I/Connected Devices:: 2
Надеюсь, что это полезно:)
Ответ 2
Добавьте это в файл манифеста
<receiver android:name=".MyBluetoothReceiver" >
<intent-filter>
<action android:name="android.bluetooth.device.action.ACL_CONNECTED" />
<action android:name="android.bluetooth.device.action.ACL_DISCONNECTED"
/>
<action
android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED"
/>
</intent-filter>
</receiver>
Добавьте этот класс
public class MyBluetoothReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// When discovery finds a device
if (BluetoothDevice.ACTION_ACL_CONNECTED.equals(action)) {
BluetoothDevice device = intent
.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
Toast.makeText(getApplicationContext(),device.getName() +" CONNECTED",Toast.LENGTH_LONG).show();
} else if (BluetoothAdapter.ACL_DISCONNECTED
.equals(action)) {
}
}
}