在做室内蓝牙定位的项目时遇到了一个问题,使用高版本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" />
由于Docker ban掉了国内的IP,所以在阿里云服务器上使用docker容易出现网络问题。 针对这个问题可以使用阿里云提供的容器镜像服务ACR。
