在手机设置内无法操作的应用高级权限可以通过adb命令来管理,主要是针对2种电耗子权限(“WAKE_LOCK”阻止手机CPU休眠和“RUN_IN_BACKGROUND”常驻后台)和各种应用最爱的“OP_READ_PHONE_STATE”读取本机识别码

手机连接电脑,adb服务正常启用的条件下,以淘宝为例输入以下命令查看具体应用的权限:

adb shell appops get com.taobao.taobao

返回淘宝应用各种权限的状态,allow为已允许、deny为被拒绝、defauld为默认、ignore为被忽略

建议把已允许的权限,需要拒绝的操作以忽略的形式操作,忽略的优势在于应用无法感知申请的权限没有 得到 ,专治不给权限就不允许的流氓行为,命令如下:

adb shell appops set com.taobao.taobao OP_READ_PHONE_STATE ignore

不返回任何信息代表忽略权限成功

附录部分权限释义:

OP_READ_PHONE_STATE 读取本机识别码 (应用最爱)

RUN_IN_BACKGROUND 后台运行(流氓最爱之一)

WAKE_LOCK 阻止CPU休眠(流氓最爱之一)

WIFI_SCAN 探测WLAN(流氓最爱之一)

COARSE_LOCATION 低精度定位

FINE_LOCATION 高精度定位

READ_EXTERNAL_STORAGE 读取外置存储 (微信内关闭此权限,无法显示头像和进朋友圈)

WRITE_EXTERNAL_STORAGE 写入外置存储

READ_CONTACTS 读取通讯录 WRITE_CONTACTS 写入通讯录

POST_NOTIFICATION 通知 ACCESS_NOTIFICATIONS 读取通知(流氓最爱之一)

SYSTEM_ALERT_WINDOW 弹窗(流氓最爱之一)

GET_USAGE_STATS 查询各种应用状态

GET_ACCOUNTS 查询系统账户

USE_FINGERPRINT 可用指纹

BODY_SENSORS 可用身体传感器

对每一个应用的权限进行查看后再根据需要选择操作,因每次只能操作一个权限,故过程较为繁琐,需要一定的耐心,提高效率的办法请看“本文的第三步”最后一句备注;也可通过建立不同的应用列表后分批的进行权限操作,具体命令如下:

adb shell pm list packages -s >syslist.txt (建立系统应用包列表)

adb shell pm list packages -3 >userlist.txt (建立第三方和自己安装的应用包)

备注:系统自带的“手机管家”和“设置”中部分功能只是样子货,比如怎么关也关不掉的“系统更新”,再比如“关闭应用后台运行”后,通过appops查看发现该权限仍然处于allow状态。想要真正管控住应用,必须利用adb工具实现。