如何在一定距离内发现设备
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在一定距离内发现设备相关的知识,希望对你有一定的参考价值。
如以下主题中所述:How to find the devices in the range by using bluetooth?
android应用程序可以获取该范围内的设备列表(启用蓝牙)
我的问题是,如果有任何方法可以将发现范围限制在某个半径,例如1米?
谢谢,本
答案
您可以使用BluetoothDevice.EXTRA_RSSI
来获得信号强度。然而,它不会非常准确,因为它是可变的。
private final BroadcastReceiver receiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(BluetoothDevice.ACTION_FOUND.equals(action)) {
short rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI, Short.MIN_VALUE);
System.out.println("RSSI: " + rssi + "dBm");
}
}
};
您获得的价值在dBm
。一个非常接近的设备将具有介于-20 dBm和-40 dBm之间的rssi,具体取决于设备(内置蓝牙设备,天线,设备的实际方向)。您可以测试您获得的值,以定义1米的平均“dBm范围”。值越接近0,接收信号越强。
以上是关于如何在一定距离内发现设备的主要内容,如果未能解决你的问题,请参考以下文章