我有关于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)) {
int rssi = intent.getShortExtra(BluetoothDevice.EXTRA_RSSI,Short.MIN_VALUE);
Toast.makeText(BtControl.this," RSSI: " + rssi + "dBm", Toast.LENGTH_SHORT).show();
}
}
};
registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_ACL_CONNECTED));
答案 0 :(得分:0)
您应该注册ACTION_FOUND
行动。将您的注册记录代码更改为以下。
registerReceiver(receiver, new IntentFilter(BluetoothDevice.ACTION_FOUND));
还要确保在清单文件中声明BLUETOOTH_ADMIN
权限。