Я могу видеть два состояния в устройстве Bluetooth в Android. 1. Пара 2. Подключена. -
Я пытаюсь получить подключенное в настоящее время устройство Bluetooth в Android. Но я получаю только парный список устройств от adapter.getBondedDevices();
Мне нужно подключенное в настоящее время устройство. Как я могу это получить. Пожалуйста, помогите мне в этом. Заранее спасибо.В настоящее время подключено устройство Bluetooth android
13
A
ответ
3
Добавить это в файле манифеста
<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)) {
}
}
}
+0
Это даст уведомление только при подключении устройства. Как насчет устройства уже подключено, а затем вы запускаете свое приложение? Как получить подключенные устройства? – usman
6
Это довольно прямо вперед. Android BluetoothManager есть метод
getConnectedDevices()
Реализация как:
BluetoothManager manager = (BluetoothManager) getSystemService(BLUETOOTH_SERVICE);
List<BluetoothDevice> connected = manager.getConnectedDevices(GATT);
Log.i("Connected Devices: ", connected.size()+"");
Если вы хотите более подробную информацию о подключенных устройствах, то вы можете использовать вышеупомянутый метод списка положить его в течение и получить внутренние данные каждого подключенного устройства Bluetooth.
Журналы:
12-20 18:04:09.679 14933-14933/com.salman.dleague.blescanning I/Connected Devices:: 2
Надежда его полезный :)
'<использующую-разрешение андроида: имя = "android.permission.BLUETOOTH"/>< использует-разрешение андроида: Name =" андроида .permission.BLUETOOTH_ADMIN "/>' используйте это разрешение, также проверьте эту ссылку на http://stackoverflow.com/questions/14834318/android-how-to-pair-bluetooth-devices-programmatically – Android
Вопрос не совсем ясен для меня , Что именно вы делаете? Вы создаете Connected btlDevice при выполнении btlDevice.CreateRfcommSocketToServiceRecord (MY_UUID); В качестве альтернативы система использует последний подключенный btlDevice. Пожалуйста, более подробно, что вы делаете. – Majkl
Проверьте это https://stackoverflow.com/questions/26341718/connection-to-specific-hid-profile-bluetooth-device –