【问题标题】:How to Change Small Icon of OneSignal Notifications in a Cordova Android App?如何在 Cordova Android 应用程序中更改 OneSignal 通知的小图标?
【发布时间】:2017-03-15 16:43:11
【问题描述】:

我使用 Cordova 和 Phonegap 创建了一个应用程序,我使用 OneSignal 发送推送通知,但是当我向用户发送通知时,它会显示一个小铃铛图标和一个大铃铛图标。我已经改变了大的,因为它使用链接和小的使用资源,所以我不能所以请帮助我。

【问题讨论】:

    标签: android cordova push-notification onesignal


    【解决方案1】:

    创建一个透明图像并将其命名为ic_stat_onesignal_default,并在需要的地方调用它。它会起作用的。

    【讨论】:

    • 我创建了一个相对于 config.xml 放置它的位置
    【解决方案2】:

    @Yokesh 图标必须命名为ic_stat_onesignal_default 是正确的。然而,文件的位置取决于您使用的 Cordova 的分支。

    对于 Cordova CLI 或 Ionic,路径是:

    <project-root>/platforms/android/res/drawable-[SIZE_NAMES]/

    PhoneGap 构建 (PGB):

    <project-root>/locales/android/drawable-[SIZE_NAMES]/

    [SIZE_NAMES] 替换为hdpixhdpixxhdpixxxhdpi,为每个名称创建一个。总共将创建四个文件夹。

    有关详细信息,请参阅 OneSignal 的 Customize Notification Icons 指南。

    【讨论】:

    • 我给它命名了,但是相对于 config.xml 我应该把它放在哪里
    • 这对我有用。我唯一不知道这些图像需要是白色和透明的,如下所述:stackoverflow.com/questions/39034625/…
    • @jkasten 当我尝试使用您的解决方案时,它在通知中显示灰色框而不是图像。我的图标图像颜色不是白色。有没有办法创建彩色小图标图像?
    • @Darshana 从 Android 5.0 开始,通知图标不能再有颜色。现在只使用图像中的 alpha 通道。但是可以设置强调色,它将应用于图像的 Alpha 通道,这意味着您只能有 1 种颜色
    【解决方案3】:

    这个链接最终帮助了我:https://documentation.onesignal.com/docs/customize-notification-icons

    您需要将适当大小的 ic_stat_onesignal_default.png 添加到每个存储图标的资源文件夹中。对于科尔多瓦,这是:

    平台/android/res/drawable-hdpi

    平台/android/res/drawable-ldpi

    平台/android/res/drawable-mdpi

    平台/android/res/drawable-xhdpi

    【讨论】:

    【解决方案4】:

    这里是关于通知图标的官方文档:

    https://documentation.onesignal.com/docs/customize-notification-icons

    drawable 中的法线矢量资源或 png 文件不起作用。连mipmap也一样。 您需要创建具有不同尺寸配置的自定义可绘制对象。

    将这些目录用于Native Android

    res/drawable-mdpi/ (24x24)
    res/drawable-hdpi/ (36x36)
    res/drawable-xhdpi/ (48x48)
    res/drawable-xxhdpi/ (72x72)
    res/drawable-xxxhdpi/ (96x96)
    res/drawable-xxxhdpi/ (256x256) (Large Icon)
    

    对于 Cordova

    <project-root>/platforms/android/app/src/main/res/drawable-mdpi/ (24x24)
    <project-root>/platforms/android/app/src/main/res/drawable-hdpi/ (36x36)
    <project-root>/platforms/android/app/src/main/res/drawable-xhdpi/ (48x48)
    <project-root>/platforms/android/app/src/main/res/drawable-xxhdpi/ (72x72)
    <project-root>/platforms/android/app/src/main/res/drawable-xxxhdpi/ (96x96)
    <project-root>/platforms/android/app/src/main/res/drawable-xxxhdpi/ (256x256) (Large Icon)
    

    注意:在每个目录中使用相同名称的文件。

    【讨论】:

      【解决方案5】:

      Here 考虑这个链接。如果您没有找到任何有用的信息,请先尝试搜索,然后考虑发布一个已经回答的问题。

      【讨论】:

      • 他使用 Notification.compat 而我使用 One Signal
      • 一个信号是什么意思。 NotificationCompat.Builder 用于支持旧平台。没有什么比一个信号更好的了。或者请进一步详细说明您的问题。
      • Okay Onesignal 是一项在线服务,它为我们提供 PC 和移动应用程序的推送通知服务。我在我的 phonegap 项目中使用它的插件。好的,能够成功完成整个过程并能够发送通知,但是在通知中有两个图标,第一个是小图标,第二个是通知中的大图标。我可以更改大图标,因为它使用链接,但小图标使用资源,所以我不知道在我的项目中将小图标放在哪里。如果你知道,请帮助我。
      • 你能告诉我们你正在使用的代码吗?通知生成器?
      【解决方案6】:

      NotificationCompat.Builder notificationCompat = new NotificationCompat.Builder(this) .setWhen(System.currentTimeMillis()) .setAutoCancel(真) .setSmallIcon(R.mipmap.logo).setLargeIcon(R.mipmap.logo1)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-05-16
        • 2020-12-13
        • 2018-03-12
        • 1970-01-01
        • 2013-03-05
        • 2012-07-29
        • 1970-01-01
        相关资源
        最近更新 更多