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

时间:2015-01-07 10:16:01

标签: android google-cloud-messaging

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

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)

然而,在我使用Android 5的Nexus 5上,我总是得到一个迷你图标,而不是正常尺寸的启动器图标。

解决方案: 对于Android 5,似乎有必要使用带有白色图标的透明背景。使用LargeIcon确实可以在通知中心中工作,但不能在状态栏中工作。

1 个答案:

答案 0 :(得分:1)

我相信你还需要使用setLargeIcon

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

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