如何在Ionic中更改Android本地通知图标?

5
我正在使用ionic构建一个安卓应用程序。我正在使用$cordovaLocalNotification实现本地通知。通知功能正常,但是它显示了一个默认的铃铛图标。如何自定义通知图标?
3个回答

3
$scope.scheduleSingleNotification = function () {
    $cordovaLocalNotification.schedule({
      id: 1,
      title: 'GRM APP Builder',
      text: 'Quer café?!?',
      badge: 1,
      icon: 'res://coffee.png',
      data: {
        customProperty: 'custom value 1'
      }
    }).then(function (result) {
      console.log('Notification 1 triggered');
    });
  };

经过多个小时的思考,我发现上面的一条评论是正确的。

如果您想更改图标,您需要在“[我的ionic应用程序文件夹]\platforms\android\res\drawable”中创建一个名为“drawable”的文件夹。

但是要注意的是:之后你必须退出实时重新加载模式,并再次执行CLI命令“ionic run android -l -c -s”。这是必要的,因为您需要将新资产复制到设备中。

我只在Android设备上进行了测试,如果您可以在iOS上进行测试,请在此处发送评论。


1
就文档而言,图标仅在Android上受支持:https://github.com/katzer/cordova-plugin-local-notifications/wiki/04.-Scheduling - gjoris

1
根据论坛上的这篇帖子,您可以简单设置通知的图标小图标属性。您必须将文件放入/platforms/android/res/drawable/文件夹中。(还要注意图标必须以“res://somename”开头)
注意:由于ngCordova的通知处理功能存在缺陷,您应替换它们。

0
在最新的ionic-cli 3中,
将您的icon.png复制到以下文件夹中。
platforms/android/res/drawable/icon.png

请注意,这仅适用于Android。
完成此操作后(确保图像是透明的图标),下一步是在notification.init函数中初始化此图标。
现在,如果您正在使用推送插件,请执行以下操作;
const pushObj: PushObject = this.push.init({
                        android: {
                            senderID: "your_id",
                            icon: "icon",
                            forceShow: "true"
                        },
                        ios: {
                            alert: "true",
                            badge: "true",
                            sound: "true"
                        }
                    });

如您所见,只添加了图标的名称而非扩展名

完成此操作后,在服务器端代码中也包含相同的键值对,将通知推送到您的设备。

所有功能都将正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接