通过leScan获取rssi实现蓝牙测距

通过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);
		}
};

BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
adapter.startLeScan(mLeScanCallback);

 

05-22 12:41:42.450: I/==[shouhuantest]==(

你可能感兴趣的:(Android的必修课)