0

我正在尝试在我的 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方法不返回任何值。请帮我解决这个问题。

4

1 回答 1

0
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
   );

}

  1. 确保从 BlueetoothAdapter 检索到的mDevice变量不为空
  2. 最后确保设置了权限,上面的代码将为您提供获取蓝牙绑定设备所需的权限。
于 2021-04-03T08:51:42.123 回答