Подключиться к определенному сопряженному Bluetooth-устройству

Я реализовал список со всеми моими сопряженными устройствами, и теперь я хотел бы знать, можно ли подключиться к некоторым из них, только нажав на элемент.

Например, если в моем списке есть Bluetooth-устройство с именем X, и я хочу подключиться к нему (с помощью своего приложения), нажмите на него, и соединение между устройством и моим телефоном установится.

Вот как я перечисляю свои сопряженные устройства:

 myListView = (ListView) dialog.findViewById(R.id.BTList);
    BTArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
    myListView.setAdapter(BTArrayAdapter);
    pairedDevices = myBluetoothAdapter.getBondedDevices();
    for(BluetoothDevice device : pairedDevices)
        BTArrayAdapter.add(device.getName()+ "\n" + device.getAddress());

person Skizo-ozᴉʞS    schedule 25.02.2016    source источник
comment
Это может помочь вам. stackoverflow.com/questions/ 11292441/   -  person Kartheek    schedule 25.02.2016
comment
Мне нужно больше деталей, этот ответ слишком много объяснен   -  person Skizo-ozᴉʞS    schedule 25.02.2016
comment
если вы добились успеха, опубликуйте решение для подключения к определенному сопряженному устройству.   -  person Ajay Pandya    schedule 25.02.2016
comment
@AjayPandya Что ты имеешь в виду?   -  person Skizo-ozᴉʞS    schedule 25.02.2016
comment
Я тоже ищу сценарий   -  person Ajay Pandya    schedule 25.02.2016
comment
Вы можете использовать MAC-адрес устройства, которое хотите подключить! @Скизо   -  person Nikos Mitropoulos    schedule 25.02.2016
comment
Да, я могу получить macaddress, но как к нему подключиться?   -  person Skizo-ozᴉʞS    schedule 25.02.2016
comment
developer.android.com/reference/android /bluetooth/ используйте ваш Macadress для генерации UUID   -  person Dhinakaran Thennarasu    schedule 26.02.2016
comment
вам нужна библиотека для подключения через Bluetooth?   -  person Rodriquez    schedule 28.09.2016


Ответы (1)


Если вы знаете имя устройства, с которым хотите выполнить сопряжение, вы можете использовать сравнение на равенство.

private static final String DEVICE_WE_WANT_TO MATCH = "X";

String devName = device.getName();
if(devName.equals(DEVICE_WE_WANT_TO MATCH)){
    // Connect.
}

Вы также можете использовать приложение UUID

private static final UUID MY_UUID = UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");

Это будет означать, что только устройства, использующие этот UUID, будут подключаться с использованием вашего протокола, это дополнительный уровень безопасности для приложения.

В этом последнем случае мы полагаемся на то, что одно устройство Android будет действовать как BT-сервер, а другое — как BT-клиент.

person Community    schedule 28.09.2016
comment
Я собираюсь проверить это, но я спросил, как подключиться, список уже появился... но все равно спасибо за ответ ;) - person Skizo-ozᴉʞS; 28.09.2016
comment
Если у вас есть время/и вы хотите, чтобы я показал, как подключиться программно, вперед, ваша помощь всегда приветствуется :D - person Skizo-ozᴉʞS; 28.09.2016
comment
Привет @Yvette Colomb, может быть, вы можете помочь мне с этим вопросом? Большая цена на него :P - person Skizo-ozᴉʞS; 01.02.2017