繁体   English   中英

Android上未显示OneSignal-Pushnotification小图标

[英]OneSignal-Pushnotification small icon not displayed on Android

我们有一个Cordova-App,它在每个drawable-xy文件夹中都包含一个'icon.png'文件。 我们使用OneSignal提供推送通知。 通知按预期工作。 除了小图标。 手机顶部栏上只有一个空白图标,显示应用程序符号。 我尝试使用以下代码段:

{
   ...
   "small_icon" : "@android:drawable/icon.png"
   ....
}

我也尝试过很多很多没有“android”的变体,没有“drawable”,没有斜线,有.png和没有.png。 等等

我在文档中找到了这个:( https://documentation.onesignal.com/reference#create-notification

small_icon: stringOptional
Specific Android icon to use. If blank the app icon is used. Must be the drawable resource name.

Android讲述了可绘制资源:( https://developer.android.com/guide/topics/resources/drawable-resource.html

将图像保存在res / drawable / myimage.png中,此布局XML将图像应用于视图:

<ImageView
  android:layout_height="wrap_content"
  android:layout_width="wrap_content"
  android:src="@drawable/myimage" />

这对我来说应该是@drawable/icon (不起作用)

将大图标更改为网址对我来说很有用,带有drawable的大图标也没有。

这个属性small_icon的正确用法是什么?

小图标是Android资源,它是没有文件扩展名或路径的名称。 在您的情况下,您需要在发送到OneSignal 创建通知 REST API调用的JSON有效负载中设置"small_icon" : "icon"

对于Cordova,您需要将您的图标文件放在<project-root>/platforms/android/res 每个分辨率应该有一个,并使用Android Asset Studio推荐的方式来创建这个小图标。 如果将名称设置为ic_stat_onesignal_default ,OneSignal SDK将使用它来处理所有OneSignal通知,除非您在JSON消息中覆盖它。 其中一个图标文件的完整路径应该是<project-root>/platforms/android/res/drawable-hdpi-v11/ic_stat_onesignal_default.png

有关完整详细信息,请参阅OneSignal的“ 自定义通知图标”指南。

在Android SDK API 21之后,您的小图标必须是这样的

在此输入图像描述

只有白色和透明。

所以,你可以编码。

if(android.os.Build.VERSION.SDK_INT>=android.os.Build.VERSION_CODES.LOLLIPOP){
        notificationBuilder.setSmallIcon(R.drawable.ic_aphla_logo);
    } else {
        notificationBuilder.setSmallIcon(R.drawable.ic_logo);
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM