Android 5 Плохое уведомление отправлено из пакета

У меня есть много исключений со следующим стеклом. Для Android < 5.0 работает нормально.

Я получаю ошибки от своего светодиодного светодиодного устройства Blender. https://play.google.com/store/apps/details?id=com.ledblinker Я отправляю уведомление без значка. Я не знаю, как воспроизвести его, но у меня появилось много отчетов о сбоях.

Любые предложения?

ANDROID_VERSION=5.0
PHONE_MODEL=Nexus 5
BUILD=BOARD=hammerhead
BOOTLOADER=HHZ12d
BRAND=google
CPU_ABI=armeabi-v7a
CPU_ABI2=armeabi
DEVICE=hammerhead
DISPLAY=LRX21O
FINGERPRINT=google/hammerhead/hammerhead:5.0/LRX21O/1570415:user/release-keys
HARDWARE=hammerhead
ID=LRX21O
MANUFACTURER=LGE
MODEL=Nexus 5
PRODUCT=hammerhead
RADIO=unknown
SUPPORTED_32_BIT_ABIS=[Ljava.lang.String;@2b1c12b
SUPPORTED_64_BIT_ABIS=[Ljava.lang.String;@20cc8988
SUPPORTED_ABIS=[Ljava.lang.String;@302e2f21
TAGS=release-keys
TYPE=user
UNKNOWN=unknown
USER=android-build
IS_DEBUGGABLE=false
TIME=1415320210000
VERSION.ACTIVE_CODENAMES=[Ljava.lang.String;@2a8c4f46
VERSION.CODENAME=REL
VERSION.INCREMENTAL=1570415
VERSION.RELEASE=5.0
VERSION.SDK=21
VERSION.RESOURCES_SDK_INT=21
VERSION.SDK_INT=21

USER_APP_START_DATE=2014-12-08T05:50:24.000+01:00
USER_CRASH_DATE=2014-12-08T07:32:05.000+01:00
CUSTOM_DATA=
STACK_TRACE=android.app.RemoteServiceException: Bad notification posted from package com.ledblinker: Couldn't create icon: StatusBarIcon(pkg=com.ledblinkeruser=0 id=0x0 level=0 visible=true num=0 )
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1441)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

Все работает, но иногда эта ошибка возникает.

Вот код, вызывающий его:

Notification resetNoti = new Notification(); 
resetNoti.ledARGB = Color.RED; 
resetNoti.ledOffMS = 0; 
resetNoti.ledOnMS = 1; 
resetNoti.flags = Notification.FLAG_SHOW_LIGHTS; 

Ответ 1

Попробуйте использовать класс NotificationCompat.Builder для создания уведомлений. Он позволяет создавать новый дизайн уведомлений (включая большой текст для расширяемых уведомлений) с поддержкой более старого стиля уведомлений. Затем вы можете установить цвет уведомлений с помощью setLights. Также вам нужен объект Notification, который вы можете получить из объекта-строителя, используя getNotification().

NotificationCompat.Builder notify = new NotificationCompat.Builder(context);
notify.setLights(Color.argb(255, 255, 0, 0), 5000, 5000);
notify.setSmallIcon(R.drawable.ic_stat_kw);
notify.setContentTitle("Title");
notify.setContentText("Text");

Intent showIntent = new Intent(context, MainActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, showIntent, 0); 
notify.setContentIntent(contentIntent);

NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notify.getNotification());

Надеюсь, что это поможет.