Android подключает все мобильные телефоны к одному и тому же приложению без запроса сопряжения

Я пытаюсь создать приложение, чтобы сделать это. Мне нужно выполнить сопряжение по Bluetooth со всеми мобильными телефонами, на которых есть это приложение, без какого-либо запроса или пин-кода по коду. Я читал, что если бы я знал имя Bluetooth устройства, я мог бы выполнить «дружественное подключение». Итак, я сделал это, чтобы изменить имя:

 void ChangeDeviceName(){
        Log.i(LOG, "localdevicename : "+bluetoothAdapter.getName()+" localdeviceAddress : "+bluetoothAdapter.getAddress());
        bluetoothAdapter.setName("AppName"+mBluetoothAdapter.getRemoteDevice(device.getAddress());
        Log.i(LOG, "localdevicename : "+bluetoothAdapter.getName()+" localdeviceAddress : "+bluetoothAdapter.getAddress());
    }​

Теперь я могу искать все устройства, у которых есть «AppName» в имени Bluetooth, и выполнять «дружественное подключение», как я делаю «дружественное подключение» (сопряжение по Bluetooth со всеми мобильными телефонами, на которых есть это приложение, без какого-либо запроса или PIN-кода, по коду с именем Bluetooth)?


person Learning    schedule 02.08.2015    source источник


Ответы (1)


Взгляните на код в

http://developer.android.com/samples/BluetoothChat/src/com.example.android.bluetoothchat/BluetoothChatService.html

Это демонстрирует основную идею о том, как соединить два устройства Android через Bluetooth и отправлять сообщения друг другу.

Если вы хотите подключить несколько устройств без ввода PIN-кода, вам необходимо создать BluetoothSocket для соединения с помощью createInsecureRfcommSocketToServiceRecord и прослушивать соединение с помощью listenUsingInsecureRfcommWithServiceRecord. Как следует из названия, это позволяет вам подключать устройства Android ненадежным способом (т. Е. Нет необходимости вводить PIN-код). Также, я думаю, вам нужно указать свой UUID для каждого соединения.

person rookiedev    schedule 03.08.2015
comment
Это демонстрирует основную идею о том, как соединить два устройства Android через Bluetooth и отправлять сообщения друг другу. Разве вам не нужно сначала соединять устройства в этом чате? потому что я пробовал тот, который тоже - person Learning; 03.08.2015
comment
Этот образец приложения требует ручного сопряжения. Однако вы можете адаптировать его для использования createInsecureRfcommSocketToServiceRecord и listenUsingInsecureRfcommWithServiceRecord, чтобы подключаться без ввода PIN-кода. Моя цель показать вам эту демонстрацию заключается в том, что у вас должна быть общая картина того, как Bluetooth работает на устройствах Android. - person rookiedev; 03.08.2015
comment
Комментарии меня сильно смутили. Возможно ли или невозможно разработать приложение, которое обменивается некоторой информацией с соседними Bluetooth-устройствами, на которых запущено одно и то же приложение, без сопряжения? - person matanster; 29.02.2020