0

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

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

4

1 回答 1

4

在 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 及更低版本从清单中获得此权限。它工作正常。

于 2016-05-09T12:30:52.060 回答