为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复:android.app.RemoteServiceException:

如何修复:android.app.RemoteServiceException:

ABOUTYOU 2019-10-08 11:09:59
我在崩溃日志中看到以下异常:android.app.RemoteServiceException: Bad notification posted from package com.my.package: Couldn't create icon: StatusBarIcon(pkg=com.my.package user=0 id=0x7f02015d level=0 visible=true num=0 )    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1456)    at android.os.Handler.dispatchMessage(Handler.java:102)    at android.os.Looper.loop(Looper.java:146)    at android.app.ActivityThread.main(ActivityThread.java:5487)我使用以下方法通过AlarmManager从PendingIntent集的IntentService中发布通知。此处传递的所有值均来自PendingIntent / IntentService中的附加包。/** * Notification  * * @param c * @param intent * @param notificationId * @param title * @param message * @param largeIcon * @param smallIcon */public static void showNotification(Context c, Intent intent,        int notificationId, String title, String message, int largeIcon,        int smallIcon) {    PendingIntent detailsIntent = PendingIntent.getActivity(c,            notificationId, intent, PendingIntent.FLAG_UPDATE_CURRENT);    // BUILD    NotificationCompat.Builder mNotifyBuilder = new NotificationCompat.Builder(            c);    // TITLE    mNotifyBuilder.setContentTitle(title).setContentText(message);    // ICONS    mNotifyBuilder.setSmallIcon(smallIcon);    if (Util.isAndroidOSAtLeast(Build.VERSION_CODES.HONEYCOMB)) {        Bitmap large_icon_bmp = ((BitmapDrawable) c.getResources()                .getDrawable(largeIcon)).getBitmap();        mNotifyBuilder.setLargeIcon(large_icon_bmp);    }    mNotifyBuilder.setContentIntent(detailsIntent);    mNotifyBuilder.setVibrate(new long[] { 500, 1500 });    mNotifyBuilder.setTicker(message);    mNotifyBuilder.setContentText(message);    // NOTIFY    NotificationManager nm = (NotificationManager) c            .getSystemService(Context.NOTIFICATION_SERVICE);    nm.notify(notificationId, mNotifyBuilder.build());}根据我看到的其他答案-我看到的异常发生在when setSmallIcon()调用不正确的时候。我已经检查并再次检查所传递的资源ID是否正确。
查看完整描述

4 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

发生的事情是,我在PendingIntent包中包括了对该图标的整数引用,并且该整数后来在发布到NotificationManager时被引用。

在获取整数引用和挂起的意图之间,更新了应用程序并更改了所有可绘制的引用。用来引用正确的可绘制对象的整数现在引用了错误的可绘制对象或根本没有引用(完全没有-导致此崩溃)


查看完整回答
反对 回复 2019-10-08
?
炎炎设计

TA贡献1808条经验 获得超4个赞

不要在Kitkat上使用SVG!


每当我想在Kitkat上显示通知时,我都会遇到相同的问题。对我造成问题的是,我已经在xml(来自svg)中定义了每个图标,还定义了小图标和操作图标。当我用png -s替换它们后,问题就解决了。


查看完整回答
反对 回复 2019-10-08
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

android.app.RemoteServiceException:错误的通知发布


我遇到了同样的问题,但是我解决了。我的问题是远程视图的“ .xml文件”。


在我的xml文件中,我View在LinearLayoutfor分隔符之间添加了一个。


<View

    android:layout_width="match_parent"

    android:layout_height="1dp"

    android:id="@+id/view"

    android:background="#000000" />

上面的View组件创建Bad通知异常。此异常原因仅是Remoteviews的xml文件。


删除该View组件后,我的代码将正常执行,没有任何异常。因此,我感到通知抽屉不接受任何自定义视图。


因此,您不会在RemoteViewobject 的.xml文件中绘制类似上述视图的内容。


查看完整回答
反对 回复 2019-10-08
  • 4 回答
  • 0 关注
  • 2224 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信