Android系统主题将自己的背景添加到通知图标中

时间:2016-01-12 20:44:08

标签: android notifications android-notifications notification-icons

我使用NotificationCompat创建了一个简单的通知 以下是我的代码

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(mContext);
mBuilder.setSmallIcon(icon)
        .setTicker(title)
        .setWhen(0)
        .setAutoCancel(true)
        .setContentTitle(title)
        .setStyle(new NotificationCompat.InboxStyle())
        .setContentIntent(resultPendingIntent)
        .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
        .setContentText(message);

NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(mNotificationId, mBuilder.build());

这是我设备上的输出。

enter image description here

我的图标没有蓝色渐变背景。图标是仅包含白色USB符号的png 我怀疑系统正在添加背景。

现在我的问题是,如何阻止这种修改。

我的设备正在运行KitKat 4.4.4

1 个答案:

答案 0 :(得分:2)

如果您没有指定“大”图标,系统会显示带有标准背景的“小”图标,例如您的蓝色渐变。

您可以使用setLargeIcon()设置自定义图像,您可以在其中指定显示的位图而不是默认图标。注意:大图标的大小应为64x64dp。有关具体示例,请参阅this answer

从Android 5.0开始,您可以使用setColor()来设置图标后面的背景颜色。但这显然不适用于Android 4.4。