通过leScan获取rssi实现蓝牙测距
google之, 蓝牙4.0有个叫低功耗bluetooth.le
的协议, android api里有个leScan()
方法, 可以对周边的低功耗蓝牙设备进行扫描, 扫描时, 就会返回信号强度RSSI
的值; 如下面的代码, 就可以每3-5秒钟返回一次结果
private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback() {
@Override
public void onLeScan(final BluetoothDevice device, final int rssi,final byte[] scanRecord)
{
Log.i(TAG, "name:"+device.getName()
+",add:"+device.getAddress()
+",type:"+device.getType()
+",bondState:"+device.getBondState()
+",rssi:"+rssi);