问题 在Android 4.2(及更高版本)上修改AIRPLANE_MODE_ON


由于sdk版本4.2似乎不再可能在设备上修改飞机模式,因为谷歌已将此设置移至只读的Settings.Global。

有没有人能够在没有生根的情况下绕过这个?

我的应用程序主要功能是在屏幕关闭时启用飞行模式,并且自4.2起停止工作。

只是想仔细检查我的评估是否正确以及我的应用程序是从Android 4.2及更高版本开始的。

参考文献: http://developer.android.com/reference/android/provider/Settings.Global.html#AIRPLANE_MODE_ON


12961
2017-11-16 18:44


起源

这有什么更新?你能在v4.2上运行吗? - dnk.nitro


答案:


我知道你明确要求一个没有root权限的解决方案,但如果你有一个root设备,至少有(种)官方解决方案将你的应用程序移动到文件夹 /system/app。然后可以写入 Settings.Global

Settings.Global.putInt(context.getContentResolver(), Global.AIRPLANE_MODE_ON, mode ? 1 : 0);

看看如何 切换飞机模式为4.2 以及如何将您的应用程序移动到 /system/app  这里。我用它作为我的切换小部件 迷你状态 (源代码链接)。


4
2018-03-16 11:26



你可以分享更详细的步骤来跟踪在root设备上写入的飞行模式设置。我从哪里开始我的第一步。 - Senthil Mg
只需按照上面的工作代码链接,更多细节是不可能的... - j.holetzeck


只是想仔细检查我的评估是否正确以及我的应用程序是从Android 4.2及更高版本开始的。

是。或者,换句话说,如果有后门方式来修改此设置,它将代表一个安全漏洞,最终会被关闭,就像启用/禁用已存在3年以上的GPS限制一样。


6
2017-11-16 19:38



我正在寻找另一种官方方式来做这件事而不是旧方式,而不是任何后门。这就是我明确写道“没有任何根源”的原因。因为我无法理解为什么谷歌会限制访问像飞机模式这样的微不足道的功能。我的意思是,它有什么害处?我的nexus 7刚刚从6-8天待机到大约2.感谢一百万Google。是的,自从我编写了一个应用程序以实现这一目标(airlockapp.com)以来,我有偏见,但为什么要限制访问一个完全安全的功能? - Tommie
@Tommie:“我一直在寻找另一种官方方式,而不是旧方式,而不是任何后门” - 根据定义,至少目前还没有。他们不会把它移到 Settings.Global 除此以外。 “我的意思是,它有什么危害?” - 你的意思是,除了将他与外界联系起来,可能是他们未经他们的同意或知情?哎呀,我 使用 一个飞机模式应用程序小部件,我一直认为决定离开该设置 Settings.System 是一个愚蠢的举动。不过,我可能会通过专门的许可来修改它。 - CommonsWare
我同意专门的设置就足够了。删除在android设备上控制飞机模式的可能性似乎很苛刻。 - Tommie
专用设置=专用许可。不要走路和打字孩子! :) - Tommie