android - 如何获取我正在为 RSSI 读取的 BLE 设备的地址?

标签 android bluetooth-lowenergy rssi

我有连接多个的工具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/

相关文章:

android - 内部错误 : Could not find . pro 文件

Android:以编程方式安装应用程序时使用窗口完成操作

android - 如何启动 Youtube 应用程序来打开播放列表?

Android SearchView 无法在 fragment 中工作

ios - 数据值溢出

android - 结合iBeacon蓝牙低功耗与Android 4.3

不再有广告的 Android Ble clear 设备

android - 在 Nexus 5 上获取 LTE 信号强度

linux - 更改探测请求的 TXPower

android - 连接到具有最佳 RSSI 的蓝牙设备