如何获取已连接蓝牙设备的 rssi 值
Posted
技术标签:
【中文标题】如何获取已连接蓝牙设备的 rssi 值【英文标题】:How to get rssi value of a connected Bluetooth device 【发布时间】:2020-07-16 22:29:28 【问题描述】:我正在尝试在我的 android 程序中获取已连接蓝牙设备的 rssi 值。 下面是代码:
gatt = mDevice.connectGatt(getApplicationContext(), false, new BluetoothGattCallback()
@Override
public void onReadRemoteRssi(BluetoothGatt gatt, int rssi, int status)
super.onReadRemoteRssi(gatt, rssi, status);
Log.d(TAG, "rssi is : " + rssi);
((TextView) findViewById(R.id.rssiValue)).setText(rssi);
);
gatt.readRemoteRssi();
但是方法 onReadRemoteRssi 没有返回任何值。 请帮我解决这个问题。
【问题讨论】:
请检查您的设备是否已连接? 【参考方案1】:if(ContextCompat.checkSelfPermission(RSSI.this,Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED)
ActivityCompat.requestPermissions(
RSSI.this,
new String[]
Manifest.permission.BLUETOOTH,
Manifest.permission.BLUETOOTH_ADMIN,
Manifest.permission.ACCESS_FINE_LOCATION
,
1
);
-
确保从 BlueetoothAdapter 检索到的 mDevice 变量不为空
最后确保设置了权限,上面的代码将为您提供获取蓝牙绑定设备所需的权限。
【讨论】:
以上是关于如何获取已连接蓝牙设备的 rssi 值的主要内容,如果未能解决你的问题,请参考以下文章