如以下主题所述: How to find the devices in the range by using bluetooth?
Android应用程序可以获取该范围内的设备列表(启用蓝牙)
我的问题是,如果有任何方法可以将发现范围限制在某个半径,例如1米?
谢谢, 本
答案 0 :(得分:0)
您可以使用<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.js"></script>
<div id="el">
</div>
来获取信号强度。
然而,它不会非常准确,因为它是可变的。
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");
}
}
};
。 非常接近设备的rssi介于-20 dBm和-40 dBm之间,具体取决于设备(内置蓝牙设备,天线,设备的实际方向)。您可以测试您获得的值,以定义1米的平均“dBm范围”。值越接近0,接收信号就越强。