使用 NotificationCompat.Builder 构建 GCM 通知的图标问题

Icon problems for GCM notification build with NotificationCompat.Builder

我按如下方式创建推送通知:

NotificationCompat.Builder notificationBuilder =
            new NotificationCompat.Builder(this)
                    .setSmallIcon(R.drawable.ic_launcher)
                    .setContentTitle(getString(R.string.app_name))
                    .setContentText(msg)
                    .setLights(Color.YELLOW, 250, 500)
                    .setAutoCancel(true)
                    .setVibrate(new long[] {100, 100, 100, 100})
                    .setSound(alarmSound)
                    .setPriority(NotificationCompat.PRIORITY_DEFAULT)

但是,在我的 Android5 Nexus 5 上,我总是看到一个迷你图标,而不是正常大小的启动器图标。

解决方法: 对于 Android 5 似乎有必要使用透明背景,上面有一个白色图标。使用 LargeIcon 在通知中心确实有效,但在状态栏中无效。

我相信您还需要使用 setLargeIcon

如果您将其设置为使用您的启动器图标,那么它应该以正确的大小显示。 SmallIcon 用于状态栏弹出的图标。

您的启动器图标为黄色背景,上面有一个白色图标。对于小图标,创建一个只有透明背景的白色图标的版本。 Android 自动将图标文件中的所有颜色设置为白色,这就是它显示为白色大方块的原因。