HBuilder使用uni-app开发android应用时,在 manifest.json 文件中, 权限配置项用于声明 Android 应用所需的权限。以下是所有可用的权限选项及其含义
HBuilder使用uni-app开发android应用时,在 manifest.json 文件中, 权限配置项用于声明 Android 应用所需的权限。以下是所有可用的权限选项及其含义
在 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 |
权限 | 修改系统设置 | 是 |
三、注意事项
-
敏感权限需动态申请:
- 如
CAMERA,READ_PHONE_STATE,GET_ACCOUNTS等属于危险权限(Dangerous Permissions),Android 6.0+ 要求在运行时动态申请,不能仅靠清单声明。
- 如
-
功能声明影响商店展示:
- 如
<uses-feature android:name="android.hardware.camera"/>声明后,Google Play 或其他商店将不会向没有摄像头的设备展示该应用。
- 如
-
避免过度请求权限:
- 只声明实际需要的权限,否则可能影响审核通过或用户信任度。
-
uni-app 提供封装接口:
- 推荐优先使用 uni-app 提供的封装接口(如
uni.chooseImage,uni.getLocation等),部分会自动处理权限请求。
- 推荐优先使用 uni-app 提供的封装接口(如
四、示例配置片段(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 官方文档。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)