在Android中读取BLE接近配置文件的蓝牙RSSI

时间:2012-08-02 09:20:43

标签: android bluetooth rssi bluetooth-lowenergy

我目前正在为Android开发蓝牙低功耗接近配置文件,我偶然发现了有关RSSI的问题。

为了使接近配置文件工作,我必须每隔短时间内接收已连接设备的RSSI数据。

当我做一些研究时,我了解在设备发现过程中可以获得蓝牙RSSI。这对我不起作用,因为从设备在连接后不会做广告。

另一种方式是挖掘人机交互层面并使用BlueZ。这似乎是相当低的水平。有没有人有这方面的经验?

有没有人在Android上看到过邻近资料?

3 个答案:

答案 0 :(得分:1)

您可以获取数据&设备扫描中的RSSI回叫。请参阅the BluetoothLeGatt sample

答案 1 :(得分:1)

连接后一段时间后可以重复使用readRemoteRssi()方法。但它不会很好。因为挂起标志错误。另一个approch是你可以启动和停止blescan并获得扫描设备的rssi值,这将是更好的方法因为在nexus 7 2013设备和一些三星设备不是过滤器设备,它将返回ble设备。

答案 2 :(得分:0)

final Runnable runnable = new Runnable() {  
    @Override
    public void run() {
        // TODO Auto-generated method stub
        mBluetoothLeService.readRemoteRssi();
        mHandler.postDelayed(this, 1000);
    }
};

and add mHandler.postDelayed(runnable, 1000); Should work.