传感器与其他小众权限 App Ops 精细控制
身体传感器
Android 13 以前身体传感器(BODY_SENSORS)是统一的运行时权限,对应一个 appops。可以控制:
- 加速度计
- 陀螺仪
- 磁力计
- 心率传感器
- 光线传感器(部分系统)
典型场景:某些健身/手表配套应用在后台持续读取心率传感器,导致额外耗电。设为"仅在使用期间允许"即可阻止后台行为。
通讯录
READ_CONTACTS:读取手机通讯录。应用读取通讯录的常见目的:
- 匹配好友(社交 App)
- 垃圾短信检测(通讯 App)
- 偷取联系人数据用于广告画像(流氓应用)
推荐设置:
- 对"匹配好友"类 App:设为忽略——应用以为有通讯录权限,实际拿到空联系人列表,照样正常运行
- 对"垃圾短信检测":允许,但需信任该应用的处理方式
- 彻底不想让它碰通讯录:拒绝
日历
READ_CALENDAR:读取日历日程。社交类和效率类应用经常索要。
实用策略:对于与日程无关的应用强行索要日历权限,直接忽略即可。比如一款游戏在启动时要日历权限——忽略后游戏正常运行,只是日程读取返回空。
通话记录
READ_CALL_LOG 和 WRITE_CALL_LOG:读取和写入通话记录。
- 防骚扰电话 App:可以授予允许
- 普通 App 强行索要:忽略
- 敏感应用(如某些金融类):拒绝
短信权限
READ_SMS:读取短信内容。Android 10+ 后 Google 加强了短信权限限制,App Ops 对短信 appops 的控制和系统权限面板配合使用更稳妥。
安全建议:任何非通讯核心功能的应用(比如游戏、购物、工具)索要短信权限一律忽略或拒绝。
全部 appops 在哪看
App Ops 的完整 appops 列表取决于你的 Android 系统版本。查看方法:
- App Ops 应用 → 设置 → 行为 → 全部权限
- 这里列出来的每一项 appops 都是当前系统支持的、可以操作的
如果某项权限你想控制但在 App Ops 里找不到对应 appops,说明系统版本不支持。App Ops 不能创造系统没有的能力。
通用策略
对于任何 App Ops 里能看到的权限项,一个通用的决策思路:
- 这个权限和应用的核心功能有关吗? → 无关的一律忽略或拒绝
- 拒绝会不会导致应用无法运行? → 会的就改用忽略
- 后台需要这个权限吗? → 不需要的设为"仅在使用期间允许"
- 完全不信任这个权限的用途? → 直接拒绝
四种状态给了足够的灵活度,不需要在"全给"和"全拒"之间二选一。