使用 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 自动将图标文件中的所有颜色设置为白色,这就是它显示为白色大方块的原因。
我按如下方式创建推送通知:
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 自动将图标文件中的所有颜色设置为白色,这就是它显示为白色大方块的原因。