Ungültige Benachrichtigung: RemoteViews konnte nicht erweitert werden für: StatusBarNotification. auf Android-Nougat

10

Ich verwende OneSignal SDK , um Benachrichtigungen anzuzeigen. Ich mache es in OneSignalPushService.java .

OneSignalPushService.java:

%Vor%

Dies funktioniert auf allen meinen Geräten, außer:

Ich erhalte eine große Anzahl dieses Problems auf Crashlytics nur auf Geräten mit Android Nougat:

  

Schwerwiegende Ausnahme: android.app.RemoteServiceException: Ungültige Benachrichtigung   Von Paket my.package gepostet:       RemoteViews konnte nicht erweitert werden für:       StatusBarNotification (pkg = my.package user = Benutzerhandle {0} id = -1542711428 tag = nullschlüssel = 0 | my.package | -1542711428 | null | 10184:       Benachrichtigung (pri = 0 contentView = null vibrieren = null sound = null defaults = 0x0 flags = 0x19 color = 0xff56a0d3 vis = PUBLIC semFlags = 0x0   semPriorität = 0))              bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1813)              bei android.os.Handler.dispatchMessage (Handler.java:102)              bei android.os.Looper.loop (Looper.java:154)              bei android.app.ActivityThread.main (ActivityThread.java:6776)              bei java.lang.reflect.Method.invoke (Methode.java)              bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1496)              bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1386)

Leider kann ich dieses Problem nicht auf meinen Geräten mit Android Nougat reproduzieren, um zu verstehen, wie ich es beseitigen kann.

Ich habe versucht, Grafikressourcen wie Symbole der Benachrichtigung zu ändern, um das Projekt zu säubern, um diesem Rat zu folgen.

Ich habe bemerkt, dass sich die Anzahl der Geräte mit diesem Problem für eine Woche erhöht, wenn ich eine neue Version der App freigebe, später fallen diese Zahlen auf Null.

Dieses Problem wurde auch an Google gemeldet und Entwickler von OneSignal SDK .

Ich suche nach Workarounds, Ideen oder Vorschlägen, die helfen können, dieses Problem zu beseitigen.

    
Dima Kozhevin 22.10.2017, 11:17
quelle

1 Antwort

4

Ich glaube, dieser Absturz ist darauf zurückzuführen, dass Ihre Benachrichtigung den ganzzahligen Verweis auf das Symbol im PendingIntent-Bundle enthält und später auf diese Ganzzahl verwiesen wurde, während sie an den NotificationManager gesendet wurde.

Zwischen dem Abrufen der Integer-Referenz und der ausstehenden Intention wurde die App aktualisiert und alle ziehbaren Referenzen wurden geändert. Die Ganzzahl, die verwendet wurde, um auf das korrekte Zeichen zu verweisen, referenzierte jetzt entweder das inkorrekte Zeichen oder gar kein Zeichen (überhaupt keine - diesen Absturz verursachend)

Dies wird durch

belegt
  

Ich habe festgestellt, dass sich die Anzahl der Geräte mit diesem Problem seit einer Woche erhöht   Wenn ich später eine neue Version der App veröffentliche, sinken diese Zahlen   zu Null.

Als Lösung können Sie alle Benachrichtigungen wiederherstellen, nachdem die Anwendung aktualisiert wurde.

    
Dmitriy Puchkov 31.10.2017 07:38
quelle