I am trying to use the new Android 6's permission model for
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
but i get the exception
java.lang.SecurityException: uid 10153 does not have android.permission.UPDATE_APP_OPS_STATS
in the onDataSetChanged()
of my RemoteViewsFactory when I call
Settings.canDrawOverlays(mContext))
Log:
java.lang.SecurityException: uid 10153 does not have android.permission.UPDATE_APP_OPS_STATS. at android.os.Parcel.readException(Parcel.java:1599) at android.os.Parcel.readException(Parcel.java:1552) at com.android.internal.app.IAppOpsService$Stub$Proxy.checkOperation(IAppOpsService.java:327) at android.app.AppOpsManager.checkOpNoThrow(AppOpsManager.java:1523) at android.provider.Settings.isCallingPackageAllowedToPerformAppOpsProtectedOperation(Settings.java:8425) at android.provider.Settings.isCallingPackageAllowedToDrawOverlays(Settings.java:8385) at android.provider.Settings.canDrawOverlays(Settings.java:1432)
Can someone explain to me this exception?
UPDATE
Temporarily solved calling canDrawOverlays()
from a service started from inside onDataSetChanged()
of the RemoteViewsFactory