我在显示通知时收到有关Android 2.3崩溃的报告。 我的堆栈跟踪是:
android.app.RemoteServiceException: Bad notification posted from package com.megadevs.hubi: Couldn't expand RemoteViews for: StatusBarNotification(package=com.megadevs.hubi id=1 tag=null notification=Notification(vibrate=null,sound=null,defaults=0x0,flags=0x62))
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1048)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3687)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
我读过Android 2.3与AnimatedImageView存在一些问题,但我不认为我正在使用它... 我为显示通知而运行的代码是:
NotificationCompat2.Builder builder = new NotificationCompat2.Builder(getApplicationContext());
notification = builder.setOngoing(true)
.setAutoCancel(false)
.setPriority(NotificationCompat2.PRIORITY_DEFAULT)
.setSmallIcon(notificationSmallIcon)
.setWhen(System.currentTimeMillis())
.setContentIntent(notificationIntent)
.setContentTitle(downloads.elements().nextElement().getFileName())
.setProgress(100, (int) downloadable.getDownload().getProgress(), false)
.build();
startForeground(DL_NOTIFICATION, notification);
更新
我发现当我尝试更新以startForeground()开头的通知时出现问题,我运行的代码是:
notification.contentView.setProgressBar(android.R.id.progress, 100, (int) download.getProgress(), false);
mNotificationManager.notify(DL_NOTIFICATION, notification);
但是它在ICS和JB上运行正常,那为什么它会给Ginger带来问题呢?
答案 0 :(得分:2)
请勿直接引用通知,因为您正在使用NotificationBuilder来创建通知对象。
卸下:
notification.contentView.setProgressBar(android.R.id.progress, 100, (int) download.getProgress(), false);
添加:
builder.setProgress(int max, int progress, boolean indeterminate)
此外,您似乎正在使用自定义通知布局,请参阅文档如何与构建器一起使用 http://developer.android.com/guide/topics/ui/notifiers/notifications.html
答案 1 :(得分:0)
你看到像android.view.InflateException这样的东西吗?另外请检查您通知的地方是什么?你能确保png文件存在于drawable文件夹中吗?不只是在drawable-mdpi等?
运行应用程序时是否可以发布完整的日志。