2012-11-16 48 views
11

由于sdk 4.2版似乎不再可以在设备上修改飞行模式,因为google已将此设置移至Settings.Global,该设置为只读。在Android 4.2(及更高版本)上修改AIRPLANE_MODE_ON

有没有人能绕过这种没有和种植的根?

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

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

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

+0

这有什么更新吗?你是否能够在v4.2上运行? –

回答

3

我知道你明确地要求一个没有生根的解决方案,但是如果你有一个固定的设备,至少有(官方的)解决方案将你的应用移动到文件夹/system/app。然后就可以写入Settings.Global

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

看一看如何toggle airplane mode for 4.2 以及如何将应用程序转移到/system/apphere。我将此用于我的切换小工具迷你状态source code link)。

+0

您可以分享更详细的步骤,以跟踪写入根植设备上的飞行模式设置。我在哪里开始我的第一步。 –

+0

只需按照上面的工作代码链接,更多的细节是不可能的... –

6

只是想仔细检查我的判断是正确的,我的应用程序从Android 4.2及以上的死亡开始。

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

+1

我正在寻找另一种官方的方式来做到这一点,而不是以前的方式,而不是后门。这就是为什么我明确写下“没有任何生根”的原因。 因为我不明白为什么Google会限制访问像飞行模式这样的小​​功能。我的意思是,它可以造成什么危害? 我的nexus 7刚刚从6-8天的待机时间降至约2.感谢百万Google。 是的,自从我写了一个应用程序来实现这个功能(airlockapp.com)以来,我有点偏颇,但为什么要限制访问一个完全安全的功能? – Tommie

+0

@Tommie:“我正在寻找另一种官方方式来做到这一点,而不是以前的方式,而不是任何后门” - 根据定义,至少现在还没有。否则,他们不会将它移到'Settings.Global'。 “我的意思是,它可以造成什么危害?” - 你的意思是,除了断开外界的人之外,可能没有他们的同意或知识?哎呀,我*使用*飞行模式应用程序小部件,我一直认为决定将'Settings.System'中的设置保留为一个愚蠢的举动。不过,我可能会让它通过专门的许可进行修改。 – CommonsWare

+0

我同意专门的设置就足够了。去除在Android设备上控制飞机模式的可能性似乎很难。 – Tommie

相关问题