构建通知时崩溃:RemoteServiceException

时间:2018-03-14 06:43:25

标签: android push-notification crash crashlytics remoteserviceexception

在我的应用中,我们会显示一条通知,其中包含2个或3个操作按钮。

我遇到了一些设备崩溃,因为某些设备包括Blackberry,Asus,HTC< HUAWEI,广达,Oppo,Vivo,三星,Yu,MicroMaxx,OnePlus,联想,iTel,Royal等等众多设备

请注意,每台设备都没有崩溃。我已经尝试了6台以上的设备,它运行正常,但在一些设备上崩溃,主要是海信制造商。

崩溃原因:

Fatal Exception: android.app.RemoteServiceException: Bad notification posted from package net.AppName: Couldn't expand RemoteViews for: StatusBarNotification(pkg=net.AppName user=UserHandle{0} id=1536490752 tag=null score=0 key=0|net.AppName|1536490752|null|10115: Notification(pri=0 contentView=net.AppName/0x109007e vibrate=null sound=default defaults=0x1 flags=0x10 color=0x00000000 actions=3 vis=PRIVATE))
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1469)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:135)
   at android.app.ActivityThread.main(ActivityThread.java:5270)
   at java.lang.reflect.Method.invoke(Method.java)
   at java.lang.reflect.Method.invoke(Method.java:372)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:915)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:710)

我使用的通知构建器代码是:

var mBuilder = NotificationCompat.Builder(context)
          .setLargeIcon(BitmapFactory.decodeResource(context.resources, R.drawable.in_ic_icon_v4))
          .setSmallIcon(R.drawable.in_ic_notification_icon_v4)
          .setContentTitle(context.getString(R.string.msg_new_account))
          .setContentText(body)
          .setStyle(NotificationCompat.BigTextStyle().bigText(body))
          .setDefaults(Notification.DEFAULT_SOUND)
          .setAutoCancel(true)

 mBuilder.addAction(-1, skip, getPendingIntent(getIntentForAction(context, skipBundle), context, requestCode))
 mBuilder.addAction(-1, skip, getPendingIntent(getIntentForAction(context, skipBundle), context, requestCode))
 val mNotificationManager = context.applicationContext.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
 mNotificationManager.notify(id, mBuilder.build())

抛出RemoteServiceException。具有讽刺意味的是,我在通知中没有任何RemoteView。有人可以帮助我吗?

它与图标大小有关吗?我使用pngs,最大大小是20kb(对于xxhdpi)。我也读过.setStyle(NotificationCompat.BigTextStyle()。bigText(body))会导致问题,是吗?

0 个答案:

没有答案