QPython 权限配置——每条权限是干什么的,要不要给
为什么需要这么多权限
QPython 的定位是「移动端完整 Python 编程平台」,它能做的事情覆盖了文件读写、硬件控制、网络通信、系统服务等多个层面,每条权限都对应一个功能模块。下面按类别逐条说明。
存储类权限
写入文件与文档
允许 QPython 在手机上创建、修改、删除文件。这是最核心的权限——你写的脚本、下载的第三方包、保存的数据文件都需要这条权限。必须授予。
读取文件与文档
与上一条配对,读取现有文件内容。必须授予。
管理所有文件(可选)
Android 11+ 的「所有文件访问」权限,授予后 QPython 可以读取外部存储的所有文件,而不仅限于自己的专属目录。对于需要跨 App 读取数据的场景(如读取微信下载的文件、管理 SD 卡内容)很有用,但权限范围较大。按需授予。
媒体文件访问(READ_MEDIA_VIDEO / IMAGES / AUDIO)
Android 13+ 新增的分颗粒度媒体访问权限。QSL4A 的拍照、录音功能会用到。按需授予。
硬件类权限
精确位置 + 粗略位置
QSL4A 的 GPS / 网络定位 API 需要精确位置。粗略位置用于网络定位和 WiFi 定位。建议授予。
相机 + 拍摄照片和视频
QSL4A 调用摄像头(拍照、录像)和 QPython 二维码扫描功能都需要。建议授予。
麦克风 + 录音
QSL4A 录音功能和语音相关场景需要。按需授予。
蓝牙 + 蓝牙扫描 + 蓝牙连接 + 配对设备
QSL4A 蓝牙 API 需要。如果不做蓝牙相关开发可以不授予。
NFC
NFC 标签读写和模拟卡功能需要。按需授予。
控制闪光灯
摄像头配套功能,QSL4A 有 torch 接口。按需授予。
网络与通信
完全的互联网访问权限
下载第三方包、拉取模型权重、访问在线 API 都需要。必须授予。
查看网络状态 + 更改网络连接性
QPython 需要检测网络是否可用,以及(在特定场景下)切换网络。建议授予。
开关 WLAN + 更改 Wi-Fi 状态
QSL4A 有 WLAN 控制 API,一般不常用。按需授予。
系统服务类
悬浮窗
在其他 App 之上显示 QPython 窗口(如终端悬浮窗、运行状态提示)。对后台脚本和自动化场景非常有用。建议授予。
运行前台服务 + 前台服务(数据同步)
让 QPython 能够在前台持续运行,不被 Android 系统杀掉。后台脚本、长时监听必须授予。强烈建议授予。
防止手机休眠
脚本运行期间防止屏幕熄灭。长任务需要。建议授予。
获取手机信息
读取设备 ID、IMEI、IMSI 等。某些 QSL4A API 会用到,但涉及隐私,按需授予。
写入设置 + 修改手机状态
非常敏感的权限。除非你要做系统级自动化,否则不建议授予。
开机时自动启动
让 QPython 开机后自动启动后台服务。按需授予。
POST_NOTIFICATIONS
Android 13+ 的通知权限。QPython 运行状态提示需要。建议授予。
授权策略总结
| 类别 | 必须授予 | 建议授予 | 按需授予 | 不建议授予 |
|---|---|---|---|---|
| 存储 | 写入、读取 | 管理所有文件 | 媒体分权限 | — |
| 硬件 | — | 位置、相机 | 蓝牙、NFC、麦克风、闪光灯 | — |
| 网络 | 完全互联网 | 查看网络状态 | 开关 WLAN | — |
| 系统 | — | 悬浮窗、前台服务、防止休眠 | 通知、开机自启 | 写入设置、修改手机状态、获取手机信息 |
权限问题排查
如果某个功能调用报错「Permission denied」,解决步骤:
- 系统设置 → 应用管理 → QPython → 权限管理
- 找到对应权限,切换为「允许」
- 回到 QPython 重试
不需要重启 App。Android 权限是运行时生效的。
小结
QPython 的权限需求多但都合理——每一条对应一个实际功能。核心建议是存储、互联网、前台服务、悬浮窗、位置、相机这几类优先授予,其他的按需来。敏感的系统级权限不要给,除非你明确知道自己要做什么。
想了解脚本默认存在哪个目录,继续看 存储路径。