在做室内蓝牙定位的项目时遇到了一个问题,使用高版本Android系统的手机死活搜索不到我自己的蓝牙beacon信标,但是奇怪的是其他的蓝牙设备能够正常发现。
然后发现Android12+版本更新了蓝牙权限的说明。所以正确的权限声明应该是这样。
如果添加了 android:usesPermissionFlags="neverForLocation" 会过部分蓝牙信标,很不幸,我的蓝牙信标就被过滤掉了=。=
xml <!-- 蓝牙权限 -->
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- Android 12+ 新权限 -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
本文作者:SpikeXiong
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!