当前位置:  开发笔记 > Android > 正文

Marshmallow:无法从服务执行Settings.System.canWrite(Context)

如何解决《Marshmallow:无法从服务执行Settings.System.canWrite(Context)》经验,为你挑选了0个好方法。

我有一个在后台运行的NotificationListener服务,当我执行Settings.System.canWrite(Settings.java:3742)时会抛出异常

12-03 18:25:33.490    2754-2771/? W/System.err? java.lang.SecurityException: uid 10057 does not have android.permission.UPDATE_APP_OPS_STATS.
12-03 18:25:33.490    2754-2771/? W/System.err? at android.os.Parcel.readException(Parcel.java:1599)
12-03 18:25:33.490    2754-2771/? W/System.err? at android.os.Parcel.readException(Parcel.java:1552)
12-03 18:25:33.490    2754-2771/? W/System.err? at com.android.internal.app.IAppOpsService$Stub$Proxy.checkOperation(IAppOpsService.java:327)
12-03 18:25:33.490    2754-2771/? W/System.err? at android.app.AppOpsManager.checkOpNoThrow(AppOpsManager.java:1536)
12-03 18:25:33.490    2754-2771/? W/System.err? at android.provider.Settings.isCallingPackageAllowedToPerformAppOpsProtectedOperation(Settings.java:8425)
12-03 18:25:33.490    2754-2771/? W/System.err? at android.provider.Settings.isCallingPackageAllowedToWriteSettings(Settings.java:8320)
12-03 18:25:33.490    2754-2771/? W/System.err? at android.provider.Settings$System.canWrite(Settings.java:3742)

这是因为提供的Context是一种服务,因为从活动调用时不会发生这种情况.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有