我在Crashlytics上发布了这个例外数百次来自我的实时用户,并且我无法在5个不同的设备上重现它一次

崩溃日志

致命异常:android.app.RemoteServiceException:从包com.mypackage发布的错误通知:无法在android上创建图标:StatusBarIcon(icon = Icon(typ = RESOURCE pkg = com.mypackage id = 0x7f08009e)visible user = 0)。 app.ActivityThread $ H.handleMessage(ActivityThread.java:2046)位于android.app.ActivityThread的android.os.Handler.dispatchMessage(Handler.java:102)android.os.Looper.loop(Looper.java:148) .main(ActivityThread.java:7406)位于com.android的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1230)的java.lang.reflect.Method.invoke(Method.java)。 internal.os.ZygoteInit.main(ZygoteInit.java:1120)

我发布通知的唯一地方仅来自FirebaseMessagingService是发布通知的代码

private fun sendNotification(remoteMessage: RemoteMessage) {

val intent = Intent(this, MainActivity::class.java)

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)

val pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,

PendingIntent.FLAG_ONE_SHOT)

val defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)

val notificationBuilder = NotificationCompat.Builder(this, "")

.setContentText(remoteMessage.notification?.body)

.setContentTitle(remoteMessage.notification?.title)

.setAutoCancel(true)

.setSmallIcon(R.drawable.ic_notification)

.setSound(defaultSoundUri)

.setColor(ContextCompat.getColor(this, R.color.blue_accent_color))

.setContentIntent(pendingIntent)

val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager

notificationManager.notify(0 /* ID of notification */, notificationBuilder.build())

}

提到的事情:1- drawable不是矢量drawable,它是一个透明背景的png(mdpi,hdpi,xhdpi.xxhdpi,xxxhdpi)

3-这可能与本课题重复,我不太确定那里是否有解决方案

如何解决这个问题,或者有一个解决方法来防止它发生,我甚至不知道如何重现它,以便我可以尝试解决这个问题

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐