通知栏显示大图标和小图标

时间:2012-06-13 22:58:16

标签: android notifications android-notifications android-notification-bar

我的应用程序中的通知栏仅显示自动收报机中的小图标(应该如此)。但是,当“阴影”被拉下时,它会显示自动收报机中的小图标,以及我在Notification.Builder中设置的大图标。这是我的代码:

if (Build.VERSION.SDK_INT > 10){
            notification = new Notification(R.drawable.ic_stat_mintchip,
                    "This is a test",
                    System.currentTimeMillis());
            notification.largeIcon = (((BitmapDrawable)c.getResources().getDrawable(R.drawable.ic_launcher)).getBitmap());
            notification.defaults |= Notification.DEFAULT_ALL;
            notification.number += 1;
            notification.flags |= Notification.FLAG_AUTO_CANCEL;

        } else {
            notification = new Notification(R.drawable.ic_stat_mintchip,
                    "This is a test",
                    System.currentTimeMillis());

                notification.flags |= Notification.FLAG_AUTO_CANCEL;
                notification.defaults |= Notification.DEFAULT_ALL;
                notification.number += 1;
        }
}

我不太清楚为什么会这样。有什么帮助吗?

3 个答案:

答案 0 :(得分:11)

我认为这里的问题可能是你没有使用Notificaiton.Builder类。以下是您可以执行的操作的一个小示例(您必须插入自己的变量,并设置您使用的其他属性,例如振动):

Notification.Builder nb = new Notification.Builder(context)
    .setContentTitle("title")
    .setContentText("content")
    .setAutoCancel(true)
    .setLargeIcon(largeIcon)
    .setSmallIcon(R.drawable.small_icon)
    .setTicker(s.getText());
NotificationManager nm = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(100, nb.build());

答案 1 :(得分:7)

我在android lollipop中遇到的另一个问题是小图标显示在大图标旁边。解决它 - 只是不要设置大图标!仅使用小图标设置。

答案 2 :(得分:0)

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html 如果您将Android清单中的最大sdk版本设置为19(即KitKat)您的应用将不再显示适用于lolipop的通知