Mit können Sie alle Benachrichtigungen abbrechen.Warum NotificationManagerCompat :: cancelAll() erhält SecurityException?
NotificationManagerCompat manager =
NotificationManagerCompat.from(ctx.getApplicationContext());
manager.cancelAll();
Es hat Ausnahme einige Zeit (die meiste Zeit funktioniert).
auf Andoid 6:
java.lang.SecurityException: Permission Denial: GetCurrentUser() von pid = 22994, uid = 10184 erfordert android.permission.INTERACT_ACROSS_USERS
Fatal Exception: java.lang.SecurityException: Permission Denial: getCurrentUser() from pid=22994, uid=10184 requires android.permission.INTERACT_ACROSS_USERS
at android.os.Parcel.readException(Parcel.java:1602)
at android.os.Parcel.readException(Parcel.java:1555)
at android.app.INotificationManager$Stub$Proxy.cancelAllNotifications(INotificationManager.java:649)
at android.app.NotificationManager.cancelAll(NotificationManager.java:323)
at android.support.v4.app.NotificationManagerCompat.cancelAll(NotificationManagerCompat.java:197)
on Android 5.0, 4.4.2:
ava.lang.SecurityException: Berechtigung Ablehnung: getIntentSender() fr om pid = 5460, uid = 10135, (müssen uid = 1000) nicht als Paket android bei android.os.Parcel.readException (Parcel.java:1465) zu senden erlaubt
Fatal Exception: java.lang.SecurityException: Permission Denial: getIntentSender() from pid=3109, uid=10153, (need uid=1000) is not allowed to send as package android
at android.os.Parcel.readException(Parcel.java:1472)
at android.os.Parcel.readException(Parcel.java:1426)
at android.app.INotificationManager$Stub$Proxy.cancelAllNotifications(INotificationManager.java:271)
at android.app.NotificationManager.cancelAll(NotificationManager.java:220)
at android.support.v4.app.NotificationManagerCompat.cancelAll(NotificationManagerCompat.java:197)
Fragen:
- Was könnte die Ursache sein?
- Was sind diese ID hier? Ist es
ctx.getApplicationContext().getApplicationInfo().uid
oderandroid.os.Process.myUid()
?
„ist es ctx.getApplicationContext(). GetApplicationInfo(). Uid oder android.os.Process.myUid() " - Für die meisten Android-Apps sollten diese identisch sein. Ihre beiden Fehler sind jedoch ziemlich seltsam. – CommonsWare
Danke CommonsWare! Es ist seltsam, es verwendet nur den Kontext der App, umAlle Benachrichtigungen zu entfernen (von innerhalb der gleichen App veröffentlicht), aber Sicherheitsausnahme erhalten. Was könnte die mögliche Ursache sein? – lannyf
@lannyf Unabhängig von den Ausnahmen werden Ihre Benachrichtigungen storniert oder nicht? –