android - OneSignal-Pushnotification 小图标在 Android 上不显示

标签 android cordova push-notification android-drawable onesignal

我们有一个 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 将图像应用于 View :

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

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

将大图标更改为 url 对我有用,带有可绘制对象的大图标也不行。

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

最佳答案

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

对于 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 的 Customize Notification Icons完整详细信息指南。

关于android - OneSignal-Pushnotification 小图标在 Android 上不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39034625/

相关文章:

android - 将混淆器用于 Android 应用程序时,反射方法不起作用

javascript - 防止默认操作发生? (JQuery移动)

javascript - 为什么 Chrome 的 PushManager 返回旧版 API?

Android "hello world"推送通知示例

android - 如何更改 SwitchCompat 的轨道颜色

android - 制作一个搜索谷歌和 URL 的 webview 搜索栏

android - 如何使用 Canvas 绘制不同图案的线条?

android - FAILURE 构建失败,出现异常 cordova。当构建命令运行时

javascript - 知道您是通过应用程序还是通过网站运行

ios - 有没有办法知道用户拒绝接收推送通知?