Ответ 1
Хорошо, так как я понимаю из вашего вопроса, вы хотите получить имя устройства, с которым вы сопрягаетесь, и если его в диапазоне
Итак, вот решение: -
- Создайте класс с именем DeviceDetails:
класс DeviceDetails { public String name; public String address; публичный BluetoothDevice remoteDevice; }
-
Вам необходимо подключить и соединить ваши устройства, как описано здесь, как только это будет сделано и будет создано соединение, создайте объект DeviceDetails.
-
DeviceDetails selectedDevice;
, и если у вас есть пользовательский адаптер для отображения списка устройств, перейдите в позицию из представления в ссылку selectedDevice. Пример: -selectedDevice = adapter.getItem(pos);
-
Теперь у вас есть объект SelectedDevice, который вы выбрали для сопряжения, таким образом вы можете сохранить его адрес и имя в
предпочтения.
Example:- savePairedDeviceInfo(selectedDevice.name, selectedDevice.address); public void savePairedDeviceInfo(String name, String addr) { if(name != null && !name.equalsIgnoreCase("")) editor.putString(PNAME_OF_DEVICE, name); if(addr != null && !addr.equalsIgnoreCase("")) editor.putString(MAC_ADDRESS_OF_DEVICE, addr); editor.commit(); }
-
Теперь, в следующий раз, когда вы захотите проверить, выполняется ли настройка спаривания или нет, проверьте имя и адрес устройства, получив значения из настроек. Используйте check (if cond.), Чтобы вернуть true, что более старое устройство, которое было сопряжено, было таким же или другим.
-
Если сопряженное устройство находится в радиусе действия, вы получите то же самое значение, которое оно попытается связать с другим устройством.
Сообщите мне, если вы поняли из моего объяснения или нет.