离子2:本地通知图标

V. *_*vet 7 javascript notifications typescript ionic2

我使用这个插件有本地通知:https: //github.com/katzer/cordova-plugin-local-notifications/wiki/03.-Installation

我希望在通知中有一个特定的图标.它位于我的/ www/assets/images /文件夹中.

我尝试这种方式,但它不起作用,我有一个带铃铛的方形图标:

public schedule() {
    cordova.plugins.notification.local.schedule({
      title: "New Message",
      message: "Hi, are you ready? We are waiting.",
      sound: null,
      at: new Date(new Date().getTime() + 5 * 1000),
      icon: 'file://assets/images/logo2.png'
    });
  }
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我我必须写的路径类型吗?我迷路了.

SAJ*_*SAJ 7

对于离子2插件的本地推送通知,您可以设置如下图标.这里icon.png将从android的可绘制文件夹中获取.并且您可以通过在android平台部分下的配置文件中添加以下内容来配置离子来复制要在可绘制文件夹中复制的本地图像文件.

<platform name="android">
<resource-file src="resources/android/icon/icon.png" target="res/drawable/icon.png"/>
</platform>


this.localNotifications.schedule({
          id: 1,
          title: data.title,
          text: data.body,
          data: data,
          icon: "res://icon.png",
          smallIcon:"res://icon.png"
        });
Run Code Online (Sandbox Code Playgroud)

  • 对于较新的Cordova版本(7+?),`target`应该具有`app/src/main/res/drawable/icon.png`形式(与以前不同的基本目录). (4认同)

dov*_*ovk 5

如果您唯一的问题是通知图标在Android上正确显示,则以下方法对我有用: -将drawable-xhdpi-icon图标(大小为96x96),重命名为icon.png并将其放在两个位置:

  • / src / assets / img
  • / platforms / android / res / drawable

可绘制的文件夹是可以通过复制来创建新的文件夹的平台/机器人/ RES / Mip映射xhdpi平台/机器人/ RES /抽拉手动或用钩的助剂。在您的代码中,本地地理围栏通知的引用如下:

smallIcon: 'res://icon',
icon: 'file://assets/img/icon.png'
Run Code Online (Sandbox Code Playgroud)

如果离子科尔多瓦资源是问题的一部分,则可以通过设置最大的图标来进行一次性设置,并在诸如resizeimage.net之类的调整大小工具的帮助下,为iOS和Android创建一组图标。此处的Excel https://github.com/dovk/howto_resources-folder列出了要创建的.png文件的大小和名称。然后,将它们放置在其各自的资源文件夹中,就像离子cordova资源一样可以放置在它们中-例如,在resources / android / icon,resources / ios / splash等中。如果这样做,则不应再使用离子cordova平台添加android离子cordova平台添加ios,因为这样做离子cordova资源 -您需要做的是 cordova平台添加(一开始没有离子)。


V. *_*vet 3

我找到了一个解决方案:

\n\n

我在 /platforms/android/res/\n 中创建一个名为“drawable”的新文件夹,并将图像放入名为“ic_notifications.png”和“ic_notifications_small.png”的新文件夹中。

\n\n

在我的代码中我写了

\n\n
cordova.plugins.notification.local.schedule({\n      id: 2,\n      title: "Notification",\n      message: "Retour \xc3\xa0 l\'application",\n      sound: null,\n      at: new Date(new Date().getTime() + 5 * 1000),\n      icon: \'ic_notifications\',\n      smallIcon: \'ic_notification_small\'\n    });\n
Run Code Online (Sandbox Code Playgroud)\n\n

它有效!

\n