Android飞机模式API lvl 17切换

时间:2012-11-14 13:42:07

标签: android

由于api lvl 17飞行模式设置已从Settings.System移至Settings.Global

问题是现在我不能再切换设置了。 API描述是这些设置是只读的。有没有人设法找到改变它的方法?

Pre API lvl 17代码有效:

Settings.System.putInt(context.getContentResolver(), Settings.System.AIRPLANE_MODE_ON, 1);

API lvl 17我尝试过但不起作用的代码:

Settings.Global.putInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, setMode);

它抛出异常(文档说它应该抛出静默日志错误):

11-14 13:39:51.649: E/AndroidRuntime(3509): java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS

但我在清单中有这个权限:

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />

如果有人知道解决这个问题的方法会很棒!!

1 个答案:

答案 0 :(得分:3)

WRITE_SECURE_SETTINGSsignature|system权限,只能由使用固件签名密钥签名或驻留在系统分区上的应用程序保留。因此,虽然你可以要求它,但你不能坚持它。