You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在已Root设备上获取MODIFY_PHONE_STATE权限

解决Root设备添加MODIFY_PHONE_STATE权限的问题

我最近在Root手机上运行一个需要处理来电的应用时,碰到了这个异常:

java.lang.SecurityException: Neither user 10174 nor current process has android.permission.MODIFY_PHONE_STATE.

因为MODIFY_PHONE_STATE是系统级权限,正常的运行时权限申请弹窗根本拿不到它,不过既然设备已经Root,咱们可以通过以下两种方式静默授予这个权限,不用弹框:

方法一:通过ADB Shell(电脑端操作)

  • 先确保你的手机已经开启USB调试,电脑上的ADB工具能正常连接设备
  • 打开命令提示符/终端,输入adb shell su,回车后如果手机弹出Root授权请求,点击允许,进入Root权限的Shell环境
  • 接着执行授予权限的命令,记得把com.your.app.package换成你自己应用的包名:
    pm grant com.your.app.package android.permission.MODIFY_PHONE_STATE
    
  • 要是想验证权限是否成功授予,可以执行pm list permissions -d -g | grep MODIFY_PHONE_STATE,能看到你的包名就说明成功了

方法二:直接在手机终端操作(无需电脑)

  • 如果你手机上装了终端模拟器(比如Termux或者超级终端),打开它
  • 输入su并回车,获取Root权限(同样需要授权)
  • 然后执行和上面一样的权限授予命令:
    pm grant com.your.app.package android.permission.MODIFY_PHONE_STATE
    

注意事项

  • MODIFY_PHONE_STATE权限能直接修改电话状态,风险很高,只给确实需要的应用,避免安全隐患
  • 部分高版本Android(比如Android 10及以上)对系统权限管控更严格,但Root环境下这个方法依然有效
  • 一定要确认应用的包名正确,包名错了命令会执行失败

内容的提问来源于stack exchange,提问作者user565

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:57:24