Device is not authorized to use BluetoothLE

用 React Native 开发 APP 的时候,需要和蓝牙设备交互,于是选了 React Native BLE Plx 这个库。

跟着说明将需要的权限在 AndroidManifest.xml 中配置完毕,回到设备中一执行,报错了,错误信息如下:

Device is not authorized to use BluetoothLE

查了网上的资料,唯有从这个 Issue 中得到了些灵感。

导致整个问题的原因,是 Android SDK 版本的安全性问题,在 SDK 23 及之前的版本,安全性不高,权限只需要在 AndroidManifest.xml 中配置就行了。而之后的版本,由于对安全性的提升,对敏感的权限需要开启 PermissionsAndroid 。

但接下来的问题是,我发现 PermissionsAndroid 里面并没有涉及开启 Bluetooth 的权限啊 。好在过了会想到现在一些需要连接蓝牙设备的 APP 都要求开启定位的权限,于是尝试着去开了 ACCESS_COARSE_LOCATION 权限。

再次运行,竟然成功了,这真的是 (ಥ _ ಥ) 啊~

你可能感兴趣的:(Device is not authorized to use BluetoothLE)