У меня есть это исключение, опубликованное на Crashlytics сотни раз от моих живых пользователей, и я не смог воспроизвести его один раз на 5 разных устройствах
Журнал аварий
Неустранимое исключение: android.app.RemoteServiceException: Плохое уведомление отправлено из пакета com.mypackage: Не удалось создать значок: StatusBarIcon (icon = Значок (typ = RESOURCE pkg = com.mypackage id = 0x7f08009e) видимый пользователь = 0)
на android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2046)
на android.os.Handler.dispatchMessage (Handler.java:102)
на android.os.Looper.loop (Looper.java:148)
на android.app.ActivityThread.main (ActivityThread.java:7406)
в java.lang.reflect.Method.invoke (Method.java)
на com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1230)
на com.android.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- Рисуемое не векторное, это png с прозрачным фоном, найденный в (mdpi, hdpi, xhdpi. Xxhdpi, xxxhdpi)
2- Drawable был создан Android Assets Studio
3- Это может быть дубликатом для этого Вопрос , и я не совсем уверен, есть ли там решение
Как решить эту проблему, Или есть обходной путь, чтобы просто предотвратить это, я даже не знаю, как воспроизвести его, чтобы я мог попытаться устранить эту проблему