2015-01-15 2 views
2

Я пытаюсь перечислить все сопряженные устройства bluetooth с моим устройством. В настройках можно просмотреть подключенные устройства, но следующий код не возвращает элементы:getbondeddevices() не возвращает парные устройства bluetooth

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
Set<BluetoothDevice> pairedDeviceSet = bluetoothAdapter.getBondedDevices(); 

Я видел this и другие сообщения, которые используют этот метод, но я не могу заставить его работать.

У меня есть следующие разрешения в manifest.xml:

<uses-permission android:name="android.permission.BLUETOOTH" /> 
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> 

Кроме того, если я поставил один из спаренных устройств в режиме обнаружения и сканирования, то устройство возвращается в паре. Если я проверю:

device.getBondState() == BluetoothDevice.BOND_BONDED 

от сканирования, он возвращает true.

Что я делаю неправильно или не понимаю?

ответ

3

Ваш код является абсолютно верным. У меня есть то же самое в моем приложении, и я никогда не получал жалобы от любого пользователя, что эта функция не работает. Проверьте другие части приложения. Ниже приведен фрагмент моего приложения, который делает то же самое, и у меня такое же разрешение, как вы описали.

BluetoothAdapter mBtAdapter = BluetoothAdapter.getDefaultAdapter(); 

Set<BluetoothDevice> pairedDevices = mBtAdapter.getBondedDevices(); 

if (pairedDevices.size() > 0) { 
    findViewById(R.id.title_paired_devices).setVisibility(View.VISIBLE); 
    for (BluetoothDevice device : pairedDevices) { 
     mPairedDevicesArrayAdapter.add(device.getName() + "\n" + device.getAddress()); 
    } 
} else { 
    mPairedDevicesArrayAdapter.add("No Paired Device."); 
} 
+0

Спасибо за поддержку, я, наконец, получил его на работу. –

+0

Я рад это слышать. Могу я спросить, в чем проблема? – Kasra

+2

Конечно - я пытался отобразить в списке, который требует преобразования в ArrayList, который неправильно преобразовывался. –

0

Убедитесь, что состояние BLUETOOTH система включена перед началом Activity

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); 
if(!mBluetoothAdapter.isEnabled()) { 
    mBluetoothAdapter.enable(); 
} 
Смежные вопросы