Android 蓝牙开发 - 蓝牙相关权限(蓝牙基本权限、Android 12 蓝牙新增权限、位置权限)

发布于:2025-05-21 ⋅ 阅读:(15) ⋅ 点赞:(0)

蓝牙基本权限

1、基本介绍
<uses-permission android:name="android.permission.BLUETOOTH" />
  1. BLUETOOTH:允许应用连接配对的蓝牙设备
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
  1. BLUETOOTH_ADMIN:允许应用发现和配对蓝牙设备
2、注意事项
  1. BLUETOOTHBLUETOOTH_ADMIN 属于普通权限,普通权限在安装时自动授予,因此不需要动态申请

  2. 如果仅声明 BLUETOOTH,应用只能连接配对的蓝牙设备,不能主动扫描或配对新设备

  3. BLUETOOTH_ADMIN 允许应用发现和配对蓝牙设备,但在 Android 6+ 上,扫描蓝牙设备需要 ACCESS_FINE_LOCATION,该权限需要动态申请


Android 12(API 31)蓝牙新增权限

1、基本介绍
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
  1. BLUETOOTH_SCAN:允许应用扫描附近的蓝牙设备
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
  1. BLUETOOTH_CONNECT:允许应用连接配对的蓝牙设备
<uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
  1. BLUETOOTH_ADVERTISE:允许应用作为蓝牙外围设备广播
2、注意事项
  1. 对于 BLUETOOTH_SCAN,如果不访问位置(ACCESS_FINE_LOCATION),需要声明 usesPermissionFlags="neverForLocation"

  2. BLUETOOTH_SCANBLUETOOTH_CONNECTBLUETOOTH_ADVERTISE 需要在 Android 12 及以上版本使用,且需要动态申请


位置权限

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  1. ACCESS_FINE_LOCATION:提供精确位置
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  1. ACCESS_COARSE_LOCATION:提供粗略位置

网站公告

今日签到

点亮在社区的每一天
去签到