如何在离子中更改android本地通知图标?

时间:2015-07-09 04:26:33

标签: android cordova ionic cordova-plugins localnotification

我正在使用ionic来构建一个Android应用程序。我正在使用 $cordovaLocalNotification用于本地通知。通知有效但显示默认铃声图标。如何自定义通知图标?

2 个答案:

答案 0 :(得分: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');
    });
  };

在花了这个问题花了好几个小时后,我看到上面的一条评论是非常正确的。

如果你想更改图标,你需要在“[my ionic app folder] \ platforms \ android \ res \ drawable”中创建一个名为“drawable”的文件夹。

但诀窍是:在此之后你需要退出livereload模式并再次执行CLI命令“ionic run android -l -c -s”。这是必要的,因为您需要将新资产复制到设备。

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

答案 1 :(得分:0)

最新的ionic-cli 3

icon.png复制到以下文件夹中。

platforms/android/res/drawable/icon.png

请注意,这只是在Android中。

完成后(确保图像是透明图标),

下一步是在notification.init函数中初始化此图标。

现在,如果我们使用push plugin 执行以下操作;

const pushObj: PushObject = this.push.init({
                        android: {
                            senderID: "your_id",
                            icon: "icon",
                            forceShow: "true"
                        },
                        ios: {
                            alert: "true",
                            badge: "true",
                            sound: "true"
                        }
                    });

正如您所看到的那样,图标的仅名称不是扩展名。

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

一切都会运作良好。