6

显示通知时,我收到有关 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 上会出现问题呢?

4

2 回答 2

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

于 2013-01-29T02:13:01.290 回答
0

您是否看到类似 android.view.InflateException 的内容?另请检查您将通知小图标保存在哪里?你能确保png文件存在于drawable文件夹中吗?不只是在drawable-mdpi等?

您可以在运行应用程序时发布完整的日志吗?

于 2012-10-11T16:07:16.343 回答