2014-11-07 4 views
2

У меня есть орудие для подключения к нескольким BLE device путем использования нескольких BluetoothGatt parameter в Android.Как получить адрес устройства BLE, которое я читаю для RSSI?

Я использую mBluetoothGatt.readRemoteRssi(); читать RSSI, и получить значение RSSI через BroadcastReceiver как следующий код:

private final BroadcastReceiver mGattreceiver = new BroadcastReceiver() { 
      @Override 
      public void onReceive(Context context, Intent intent) { 
       // TODO Auto-generated method stub 
       final String action = intent.getAction(); 
       if(BluetoothLeService.EXTRA_RSSI.equalsIgnoreCase(action)){ 
        int rssi = intent.getIntExtra(BluetoothLeService.EXTRA_RSSI, 0); 
        Log.i(TAG, "mGattreceiver BroadcastReceiver---rssi = " + rssi); 
       } 
      } 
     }; 

я могу получить RSSI с помощью приведенного выше кода, и я также вижу бланк выглядит следующим образом:

11-07 17:09:29.595: D/BluetoothGatt(16612): onReadRemoteRssi() - Device=20:73:20:00:6C:C5 rssi=-56 status=0 

Но если имеется несколько BLE device, я буду получать множественные значения RSSI но не имеет BLE address в BroadcastReceiver

Как получить address of BLE device, который я читаю для RSSI?

Могу ли я получить address в BroadcastReceiver?

Заранее спасибо.

+0

проверка сниппета на [этой ссылке] (http://answer.techwikihow.com/1308102/android-update- Bluetooth-ПУПС-second.html) – user2450263

ответ

1

BluetoothDevice имеет метод, называемый getAddress(), который возвращает MAC-адрес устройства.

Если у вас нет под рукой, вы можете получить экземпляр BluetoothDevice с помощью BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

Смежные вопросы