如何修复:android.app.RemoteServiceException:

我在崩溃日志中看到以下异常:


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是否正确。


ABOUTYOU
浏览 2225回答 4
4回答

暮色呼如

发生的事情是,我在PendingIntent包中包括了对该图标的整数引用,并且该整数后来在发布到NotificationManager时被引用。在获取整数引用和挂起的意图之间,更新了应用程序并更改了所有可绘制的引用。用来引用正确的可绘制对象的整数现在引用了错误的可绘制对象或根本没有引用(完全没有-导致此崩溃)

炎炎设计

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

慕工程0101907

android.app.RemoteServiceException:错误的通知发布我遇到了同样的问题,但是我解决了。我的问题是远程视图的“ .xml文件”。在我的xml文件中,我View在LinearLayoutfor分隔符之间添加了一个。<View&nbsp; &nbsp; android:layout_width="match_parent"&nbsp; &nbsp; android:layout_height="1dp"&nbsp; &nbsp; android:id="@+id/view"&nbsp; &nbsp; android:background="#000000" />上面的View组件创建Bad通知异常。此异常原因仅是Remoteviews的xml文件。删除该View组件后,我的代码将正常执行,没有任何异常。因此,我感到通知抽屉不接受任何自定义视图。因此,您不会在RemoteViewobject 的.xml文件中绘制类似上述视图的内容。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android