【问题标题】:Icon problems for GCM notification build with NotificationCompat.Builder使用 NotificationCompat.Builder 构建 GCM 通知的图标问题
【发布时间】:2015-01-07 10:16:01
【问题描述】:

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

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 确实有效,但在状态栏中无效。

【问题讨论】:

    标签: android google-cloud-messaging


    【解决方案1】:

    相信你也需要用到setLargeIcon

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

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

    【讨论】:

    • 我尝试过使用 LargeIcon,但这不起作用。 StatusBar 总是得到一个白色的空。
    • 你必须同时设置。
    • 好的,我再次测试并更新了截图。仍然有两个问题:状态栏中的白色图标和大图标中的白色小东西。
    • 顺便说一句,“Google 推荐...小图标是白色的”是什么意思?
    • @raveN 我已经编辑了我的答案,以澄清我对小图标需要为白色的意思。希望对您有所帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-03
    • 2013-03-31
    相关资源
    最近更新 更多