Android 6.0(M)使用admin跳过Settings.ACTION_MANAGE_WRITE_SETTINGS

时间:2016-05-09 12:22:01

标签: android admin android-6.0-marshmallow runtime-permissions

是否可以通过管理员权限避免运行时权限?

我必须在Settings.System中更改一些内容,但不幸的是在Android M上,我必须要求用户允许我...

1 个答案:

答案 0 :(得分:3)

在api23中,已从用户应用程序(如非系统应用程序)中撤消了WRITE_SETTINGS的权限。通过查看android中的源代码,我们可以看到此权限的以下保护级别:

 <permission android:name="android.permission.WRITE_SETTINGS"
    android:label="@string/permlab_writeSettings"
    android:description="@string/permdesc_writeSettings"
    android:protectionLevel="signature|preinstalled|appop|pre23" />

这意味着您可以通过以下方式获得此权限: 1.在你的清单中将sdk降低到23以下 2.通过系统签名,通过在系统(/ app或/ priv-app)中预先安装应用程序或通过appop获取权限(不相关)。

因此,作为针对sdk23的用户应用,您无法获得此权限。目标sdk 22及更低版本,以获取清单中的此权限。它工作正常。