我有连接多个的工具BLE device
通过使用多个 BluetoothGatt parameter
在 Android
.
我使用 mBluetoothGatt.readRemoteRssi();
读取 RSSI ,并通过 BroadcastReceiver
接收 RSSI 值像下面的代码:
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
?
提前致谢。
最佳答案
BluetoothDevice
有一个名为 getAddress()
的方法,它返回设备的 MAC 地址。
如果手边没有,可以使用 BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
BluetoothDevice
实例
关于android - 如何获取我正在为 RSSI 读取的 BLE 设备的地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26797827/