我想在我的设备上启用和禁用非根目录的飞行模式。
要启用飞行模式,我使用以下命令:
ADB外壳设置将全局飞行模式设为1
adb shell AM广播-android.intent.action.airpraine模式
要禁用飞行模式,我使用以下命令:
ADB外壳设置将全局飞行模式设为0
adb shell AM广播-android.intent.action.airpraine模式
此命令在android=7.0时出现以下错误:
ZX1G523ZW6:启用飞行模式…
广播:Intent { act=android.intent.action.AIRPLANE_MODE (has extras) }
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.AIRPLANE_MODE from pid=8824, uid=2000
at android.os.Parcel.readException(Parcel.java:1684)
at android.os.Parcel.readException(Parcel.java:1637)
at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:3537)
at com.android.commands.am.Am.sendBroadcast(Am.java:772)
at com.android.commands.am.Am.onRun(Am.java:404)
at com.android.internal.os.BaseCommand.run(BaseCommand.java:51)
at com.android.commands.am.Am.main(Am.java:121)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:262)
没有根设备的android版本>=7.0有解决方案吗?
提前谢谢你。
最佳答案
如你所见,android.intent.action.AIRPLANE_MODE
是受保护的广播。
在android 7.0之前,受保护的广播存在安全问题,使得普通用户能够调用应用程序代码内的广播或使用adb接口。
从android 7.0开始,这个安全缺陷已经被修复,现在如果你想继续保持同样的行为,你需要一个根设备或android
关于android - 通过命令行无根用户进入飞行模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45435403/