【问题标题】:Modify AIRPLANE_MODE_ON on Android 4.2 (and above)在 Android 4.2(及更高版本)上修改 AIRPLANE_MODE_ON
【发布时间】:2012-11-05 12:41:36
【问题描述】:

自 sdk 4.2 版以来,似乎无法再修改设备上的飞行模式,因为 google 已将此设置移至只读的 Settings.Global。

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

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

只是想再次检查我的评估是否正确,以及我的应用从 android 4.2 及更高版本开始已失效。

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

【问题讨论】:

  • 这方面有更新吗?你能让它在 v4.2 上运行吗?

标签: android sdk settings


【解决方案1】:

只是想再次检查我的评估是否正确,并且我的应用从 android 4.2 及更高版本开始已失效。

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

【讨论】:

  • 我正在寻找另一种官方方式来执行此操作,而不是旧方式,而不是任何后门。这就是为什么我明确写“没有任何生根”。因为我不明白为什么谷歌会限制访问像飞行模式这样的微不足道的功能。我的意思是,它有什么害处?我的 nexus 7 刚从 6 到 8 天待机到大约 2 天。感谢一百万谷歌。是的,我有偏见,因为我编写了一个应用程序来实现这一点(airlockapp.com),但是为什么要限制对一个完全安全的功能的访问呢?
  • @Tommie:“我一直在寻找另一种官方方式来做到这一点,而不是旧方式,而不是任何后门”——根据定义,至少目前没有。否则他们不会将其移至Settings.Global。 “我的意思是,它有什么害处?” ——你的意思是,除了将人与外界断开之外,可能未经他们的同意或知情?哎呀,我使用一个飞行模式应用程序小部件,我一直认为将这个设置留在Settings.System 中的决定是愚蠢的举动。不过,我可能会通过专门的权限对其进行修改。
  • 我同意专用设置就足够了。删除在 android-device 上控制飞行模式的可能性似乎很苛刻。
  • 专用设置 = 专用权限。不要走路和打字的孩子! :)
【解决方案2】:

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

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

看看如何toggle airplane mode for 4.2 以及如何将您的应用程序移至 /system/app here。我将它用于我的切换小部件 Mini Status (source code link)。

【讨论】:

  • 你能分享更详细的步骤来遵循在根设备上编写的飞行模式设置。我从哪里开始我的第一步。
猜你喜欢
  • 2014-01-02
  • 2013-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 1970-01-01
相关资源
最近更新 更多