manifest.json 文件中,distribute.android.permission 配置项用于声明 Android 应用所需的权限。以下是所有可用的权限选项及其含义:
在这里插入图片描述


📝 distribute.android.permission 可配置的所有选项及含义

1. 基础权限
权限名称 含义
ACCESS_COARSE_LOCATION 访问设备的粗略位置(基于网络)
ACCESS_FINE_LOCATION 访问设备的精确位置(基于 GPS 和网络)
ACCESS_NETWORK_STATE 查看网络连接状态
ACCESS_WIFI_STATE 查看 Wi-Fi 网络状态
BLUETOOTH 使用蓝牙通信
CAMERA 使用摄像头
INTERNET 访问网络
READ_EXTERNAL_STORAGE 读取外部存储(如 SD 卡)
WRITE_EXTERNAL_STORAGE 写入外部存储(如 SD 卡)
RECORD_AUDIO 录音
VIBRATE 使用振动
2. 敏感权限
权限名称 含义
ACCESS_BACKGROUND_LOCATION 在后台访问设备的精确位置
ACTIVITY_RECOGNITION 检测用户的活动状态(如步行、跑步)
BODY_SENSORS 访问传感器数据(如心率监测器)
CALL_PHONE 拨打电话
GET_ACCOUNTS 访问账户列表
PROCESS_OUTGOING_CALLS 监听拨出电话
READ_CALENDAR 读取日历数据
READ_CALL_LOG 读取通话记录
READ_CONTACTS 读取联系人信息
READ_PHONE_STATE 读取电话状态和识别码
READ_SMS 读取短信内容
RECEIVE_SMS 接收短信
SEND_SMS 发送短信
USE_SIP 使用 SIP 协议进行语音通话
WRITE_CALENDAR 写入日历数据
WRITE_CALL_LOG 写入通话记录
WRITE_CONTACTS 写入联系人信息
WRITE_SETTINGS 修改系统设置
3. 特殊权限
权限名称 含义
BIND_ACCESSIBILITY_SERVICE 绑定辅助功能服务
BIND_AUTOFILL_SERVICE 绑定自动填充服务
BIND_NOTIFICATION_LISTENER_SERVICE 绑定通知监听服务
BIND_SCREENING_SERVICE 绑定来电拦截服务
INSTALL_PACKAGES 安装应用包
REQUEST_INSTALL_PACKAGES 请求安装应用包
SYSTEM_ALERT_WINDOW 显示系统级窗口(悬浮窗)
WRITE_APN_SETTINGS 修改 APN 设置

📊 表格整理总结

权限名称 含义 类型
ACCESS_COARSE_LOCATION 访问设备的粗略位置(基于网络) 基础
ACCESS_FINE_LOCATION 访问设备的精确位置(基于 GPS 和网络) 基础
ACCESS_NETWORK_STATE 查看网络连接状态 基础
ACCESS_WIFI_STATE 查看 Wi-Fi 网络状态 基础
BLUETOOTH 使用蓝牙通信 基础
CAMERA 使用摄像头 基础
INTERNET 访问网络 基础
READ_EXTERNAL_STORAGE 读取外部存储(如 SD 卡) 基础
WRITE_EXTERNAL_STORAGE 写入外部存储(如 SD 卡) 基础
RECORD_AUDIO 录音 基础
VIBRATE 使用振动 基础
ACCESS_BACKGROUND_LOCATION 在后台访问设备的精确位置 敏感
ACTIVITY_RECOGNITION 检测用户的活动状态(如步行、跑步) 敏感
BODY_SENSORS 访问传感器数据(如心率监测器) 敏感
CALL_PHONE 拨打电话 敏感
GET_ACCOUNTS 访问账户列表 敏感
PROCESS_OUTGOING_CALLS 监听拨出电话 敏感
READ_CALENDAR 读取日历数据 敏感
READ_CALL_LOG 读取通话记录 敏感
READ_CONTACTS 读取联系人信息 敏感
READ_PHONE_STATE 读取电话状态和识别码 敏感
READ_SMS 读取短信内容 敏感
RECEIVE_SMS 接收短信 敏感
SEND_SMS 发送短信 敏感
USE_SIP 使用 SIP 协议进行语音通话 敏感
WRITE_CALENDAR 写入日历数据 敏感
WRITE_CALL_LOG 写入通话记录 敏感
WRITE_CONTACTS 写入联系人信息 敏感
WRITE_SETTINGS 修改系统设置 敏感
BIND_ACCESSIBILITY_SERVICE 绑定辅助功能服务 特殊
BIND_AUTOFILL_SERVICE 绑定自动填充服务 特殊
BIND_NOTIFICATION_LISTENER_SERVICE 绑定通知监听服务 特殊
BIND_SCREENING_SERVICE 绑定来电拦截服务 特殊
INSTALL_PACKAGES 安装应用包 特殊
REQUEST_INSTALL_PACKAGES 请求安装应用包 特殊
SYSTEM_ALERT_WINDOW 显示系统级窗口(悬浮窗) 特殊
WRITE_APN_SETTINGS 修改 APN 设置 特殊

📘 最终建议

  • 最小必要原则:只申请应用实际需要的权限,避免过度索权。
  • 动态请求权限:对于敏感权限,在使用时动态请求用户授权,而非一次性获取。
  • 权限使用说明:在请求权限时提供具体使用场景说明,增加用户信任度。

希望以上内容能帮助你更好地理解和配置 manifest.json 中的权限项!如果有更多具体问题,欢迎继续交流。

扩展整理

在使用 HBuilder 开发 uni-app 项目并打包为 Android 应用时,manifest.json 文件中的 distribute.android.permission 配置项用于声明应用所需的权限(Permission)和功能需求(Feature)。这些配置决定了应用在运行时访问特定系统资源或硬件的能力,并影响用户隐私和安全。


一、配置说明

manifest.json 中的 distribute.android.permission 部分可以直接添加 <uses-permission><uses-feature> 标签,它们分别表示:

  • <uses-permission>:声明应用需要使用的系统权限。
  • <uses-feature>:声明应用依赖的硬件或软件功能(非权限,但决定兼容性)。

二、各项配置详解

配置项 类型 含义 是否敏感权限
android.permission.CHANGE_NETWORK_STATE 权限 允许更改网络连接状态
android.permission.MOUNT_UNMOUNT_FILESYSTEMS 权限 挂载/卸载文件系统(如SD卡) 是(旧版本权限)
android.permission.VIBRATE 权限 控制设备震动
android.permission.READ_LOGS 权限 读取系统日志
android.permission.ACCESS_WIFI_STATE 权限 获取WiFi连接状态
android.hardware.camera.autofocus 功能 需要摄像头自动对焦功能
android.permission.ACCESS_NETWORK_STATE 权限 获取网络连接状态
android.permission.CAMERA 权限 使用摄像头
android.permission.GET_ACCOUNTS 权限 访问账户列表(如Google账户)
android.permission.READ_PHONE_STATE 权限 读取设备状态(IMEI、运营商等)
android.permission.CHANGE_WIFI_STATE 权限 修改WiFi开关状态
android.permission.WAKE_LOCK 权限 防止设备休眠
android.permission.FLASHLIGHT 权限 使用闪光灯
android.hardware.camera 功能 设备必须支持摄像头
android.permission.WRITE_SETTINGS 权限 修改系统设置

三、注意事项

  1. 敏感权限需动态申请

    • CAMERA, READ_PHONE_STATE, GET_ACCOUNTS 等属于危险权限(Dangerous Permissions),Android 6.0+ 要求在运行时动态申请,不能仅靠清单声明。
  2. 功能声明影响商店展示

    • <uses-feature android:name="android.hardware.camera"/> 声明后,Google Play 或其他商店将不会向没有摄像头的设备展示该应用。
  3. 避免过度请求权限

    • 只声明实际需要的权限,否则可能影响审核通过或用户信任度。
  4. uni-app 提供封装接口

    • 推荐优先使用 uni-app 提供的封装接口(如 uni.chooseImage, uni.getLocation 等),部分会自动处理权限请求。

四、示例配置片段(manifest.json)

{
  "plus": {
    "distribute": {
      "android": {
        "permissions": [
          "<uses-permission android:name=\"android.permission.CAMERA\"/>",
          "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
          "<uses-feature android:name=\"android.hardware.camera\"/>"
        ]
      }
    }
  }
}

五、总结表格

配置类型 示例 用途说明 是否敏感
权限 CAMERA 使用摄像头拍照/录像 ✅ 是
权限 READ_PHONE_STATE 获取设备信息(如IMEI) ✅ 是
权限 VIBRATE 控制设备震动反馈 ❌ 否
功能 android.hardware.camera 应用依赖摄像头硬件 ❌ 否
权限 WRITE_SETTINGS 修改系统设置 ✅ 是
权限 GET_ACCOUNTS 获取设备账户信息 ✅ 是

如果你希望进一步优化隐私合规性,建议参考 Android 官方权限指南uni-app 官方文档

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐