180717 安卓-特殊权限简介

前言

Android的权限机制使得应用必须在用户同意的前提下才能进行一些敏感操作,而Android6.0新增了一个被称为运行时权限的功能。
这个功能可以申请许多用户体验很好的产品,但随之而来的是一些隐私安全问题

辅助功能权限

许多安卓使用者因为各种情况而需要以特殊方式与手机交互,包括无法看屏幕、使用触屏、接收语音消息等等,因此安卓提供了辅助功能和服务来帮助这些用户更简单地操作设备,包括文字转语音、触觉反馈、手势操作、轨迹球和手柄操作等

辅助功能的实质是监听应用窗口变化和事件,当声明权限以后就可以实现静默安装/卸载、应用锁、通知栏管理和抢红包等功能

风险:
监听窗口变化使得恶意程序可以针对性地仿造许多页面适时地弹出,包括钓鱼页面、信息截获等等
甚至可以当某些应用产生事件时,在用户不知情的情况下进行模拟操作

设备管理权限

设备管理器权限是一个非常底层的权限,拥有它可以使得应用几乎可以完全掌握设备,包括定位、擦除设备数据、阻止常规方式卸载,甚至是修改设备锁屏密码等等

通知栏管理权限

这个权限就如字面意思一样,拥有通知栏的查看、删除等权限
便利在于可以智能清理通知栏、通过一些短信消息快捷填写验证码等等
而同样的,也会具有较高的敏感风险,例如验证码可能被获取

作者czy1121,源码settingscompat,特殊权限(Special Permissions)兼容库,悬浮窗权限(SYSTEM_ALERT_WINDOW)与系统设置修改权限(WRITE_SETTINGS) Android 6.0 以前只要在 manifest 中申请了权限就是默认开启的 Android 6.0+需要在 manifest 中申请并且通过发送 Intent 让用户在设置界面进行勾选 适配 检测 API 23+(Android 6.0+/M) 使用 Settings.canDrawOverlays, Settings.System.canWrite API 18+(Android 4.3+/JellyBean MR2) 通过反射使用 AppOpsManager.checkOp API < 18 默认权限开启,时始终返回 true 授权 API 23+(Android 6.0+/M) 去系统设置面板就好 new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION), new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS) API 18+(Android 4.3+/JellyBean MR2) 默认权限开启 API < 18 默认权限开启,不做任何处理 切换授权状态 AppOpsManager.setMode 可用于Android 4.3/4.4修改授权状态 API 18 添加 AppOpsManager(被隐藏,在 Android 4.4 公开) API 21 后需要签名验证的权限android.Manifest.permission.UPDATE_APP_OPS_STATS,第三方应用用不了了。 ROM 有些 Rom 会默认禁用权限,通常都有自带的权限管理 API 18+ 有些 Rom 会默认禁用权限,通常都有自带的权限管理,这时就需要检测 Rom 类型然后跳转到对应的设置页面 API 23+ 本来去系统设置面板就好了,但有些 Rom 会用自带的权限管理替代系统设置面板,这时仍然需要检测 Rom 类型然后跳转到对应的设置页面 实际上是跳转到手机上的安全中心对应的权限设置页,当安全中心版本不同时相应的权限设置页也有可能不一样 还有部分 ROM 的应用详细信息页可以设置权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值