【问题标题】:How to set different icons for app and for its notifications?如何为应用程序及其通知设置不同的图标?
【发布时间】:2020-09-08 19:47:48
【问题描述】:

我正在使用带有黑色背景和白色标志的图片作为我的应用程序的图标。问题是当我收到通知时,显示屏顶部的图标是全白的(老实说,我不知道为什么,当屏幕被锁定时,它看起来就像原来一样)。

我想通过为通知设置不同的图标来解决这个问题,我可以使用this site,当我使用这个站点生成的文本图标时它工作得很好。

我想知道如何为我的应用程序及其通知设置不同的图标,我知道这是可能的,但我只有用于应用程序和通知图标的文件夹(drawable-[hdpi/mdpi/xhdpi/xxhdpi/ xxxhdpi])。

【问题讨论】:

  • 我不太明白这个问题。您是在问如何为通知指定特定图标?
  • 通知图标应该是单色的。任何颜色数据都会被剥离,只留下完整的 Alpha 通道。如果您看到它在锁定屏幕上显示为彩色,则可能显示的是您的应用图标,而不是通知图标。
  • spartygw 是的,因为现在我的通知图标和我的应用图标一样

标签: android firebase xamarin xamarin.forms firebase-cloud-messaging


【解决方案1】:

问题是当我收到通知时,显示屏顶部的图标是全白的(老实说,我不知道为什么,当屏幕锁定时,它看起来像原来的样子)。

您在 Notification.Builder 中设置了 SetSmallIcon()。

要了解以下 Android 文档——“更新或删除涉及颜色的资产。系统会忽略操作图标和主通知图标中的所有非 Alpha 通道。您应该假设这些图标仅是 Alpha 版。系统以白色绘制通知图标,以深灰色绘制操作图标。”

您只需点击几下即可将通知图标转换为 Android 友好图标。

Notification icon generator 中,打开您的图标文件。将您不想显示的图像的所有部分转换为透明像素。所有颜色和非透明像素均以白色显示。

【讨论】:

  • 如果以上回答对您有帮助,请采纳为回答(点击此回答左上角的“✔”),对有类似问题的其他人有帮助
  • 它不起作用,我已将新的 36x36 png 文件添加到 projectname\projectname.Android\Resources\drawable,这是代码的新部分(MainActivity.cs , OnCreate 方法):new Notification.Builder(this) .SetSmallIcon(projectname.Droid.Resource.Drawable.new_notification_icon) .Build(); 通知图标仍然与应用图标相同。
  • 我正在使用 Firebase Cloud Messaging,我不知道这是否重要,也许我必须在其他地方使用此代码?
【解决方案2】:

问题解决了,我在下面添加到 AndroidManifest.xml(应用程序部分)

<meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/new_notification_icon" />

【讨论】:

  • 感谢您的分享,请接受您的回答。
猜你喜欢
  • 1970-01-01
  • 2021-09-17
  • 2011-11-03
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 2020-07-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多