欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

安卓 12 蓝牙权限(修复闪退问题)

最编程 2024-07-04 13:46:21
...

<manifest>   

<uses-feature android:name="android.hardware.bluetooth_le" android:required="true"/>

<!--请求旧设备上的蓝牙权限,可设置android:maxSdkVersion为30。这个兼容性步骤帮助系统只授予你的应用程序所需的蓝牙权限,当安装在运行Android 12或更高的设备上。>   

<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.BLUETOOTH_SCAN" />   

<!--如果你的应用程序不使用蓝牙扫描结果得出物理位置信息,可以加上usesPermissionFlags声明你的scan结果不会用于推导出物理位置。--> 

<uses-permission android:name="android.permission.BLUETOOTH_SCAN"                     android:usesPermissionFlags="neverForLocation" />

<!--仅当你的应用程序使设备可被蓝牙设备发现时需要。 -->   

<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />   

<!-- 只有当你的应用程序与已经配对的蓝牙设备通信时才需要。 -->   

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />   

<!-- 只有当你的应用程序使用蓝牙扫描结果来获取物理位置时才需要。--> 

  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />    

<!--在Android 12 如果你确定你的应用程序从来没有从蓝牙扫描结果获取物理位置,则不需要这个权限。-->  

<!--在Android 12以下 这个权限是必须要的-->  

  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

<!--如果你的应用程序支持一个服务,并且可以运行在Android 10 (API级别29)或Android 11,你还必须声明ACCESS_BACKGROUND_LOCATION权限来发现蓝牙设备。-->

<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />

</manifest>


推荐阅读