Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FCM - How to fix android.app.RemoteServiceException: Bad notification posted from package Couldn't expand RemoteViews for: StatusBarNotification

I am seeing 1000s of crash reports related to notification with no viable way to debug or check app code for notifications in Firebase Cloud Messaging

Fatal Exception: android.app.RemoteServiceException: Bad notification posted from package com.appbootup.ipo.news: Couldn't expand RemoteViews for: StatusBarNotification(pkg=com.appbootup.ipo.news user=UserHandle{0} id=2 tag=IPO-SME score=10: Notification(pri=1 contentView=com.appbootup.ipo.news/0x1090064 vibrate=null sound=null defaults=0x0 flags=0x10 kind=[null] 2 actions))
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1509)
   at android.os.Handler.dispatchMessage(Handler.java:110)
   at android.os.Looper.loop(Looper.java:193)
   at android.app.ActivityThread.main(ActivityThread.java:5323)
   at java.lang.reflect.Method.invokeNative(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:515)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
   at dalvik.system.NativeStart.main(NativeStart.java)

RemoteViews are not involved as i do not have custom remote view code. I am using default notification and have no code related to RemoteViews notificationView = new RemoteViews()

final Notification.Builder builder = new Notification.Builder(context)
            .setContentTitle(mNotificationTitle)
            .setContentText(mNotificationText)
            .setStyle(new Notification.BigTextStyle().bigText(boldmNotificationLongText))
            .setLargeIcon(largeIcon)
            .setSmallIcon(mNotificationSmallIcon)
            .setPriority(mPriority)
            .setTicker(mNotificationTicker)
            .setContentIntent(pendingIntentView)
            .setAutoCancel(true)
            .addAction(R.drawable.ic_menu_share, SHARE_ACTION, pendingIntentShare)
            .addAction(R.drawable.ic_arrow_forward_black_24dp, VIEW_ACTION, pendingIntentView);

More References -

  1. https://github.com/firebase/quickstart-android/issues/394

  2. https://github.com/OneSignal/OneSignal-Android-SDK/issues/263

Only Kitkat Devices are throwing these in large numbers - Android OS version: 4.4.4, 4.4.2, 4.2.2, 4.0.4

like image 377
appbootup Avatar asked Jan 06 '18 05:01

appbootup


1 Answers

Fixed by changing the drawable used by Notification .

.addAction(R.drawable.ic_forward_black_24dp, VIEW_ACTION, pendingIntentView);

R.drawable.ic_forward_black_24dp no longer uses xml file (Vector Asset) and instead we now use png file (Image Asset).

like image 170
appbootup Avatar answered Sep 20 '22 21:09

appbootup