Android 5从包中发布的错误通知

下面的堆栈跟踪有很多例外。 对于Android <5.0,它工作正常。

我从我的LED通知应用程序LED Blinker中得到错误。 https://play.google.com/store/apps/details?id=com.ledblinker我发布没有图标的通知。 我不知道如何重现它,但我得到了很多崩溃报告。

有什么build议么?

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; 

尝试使用NotificationCompat.Builder类来创build通知。 它支持新的通知devise(包括可扩展的通知的大文本),支持较早的通知样式。 然后您可以使用setLights设置通知颜色。 另外,您还需要一个通知对象,您可以使用getNotification()从构build器对象中获取该对象。

 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()); 

希望这可以帮助..