如何在Ionic mobile应用程序中设置$cordovaLocalNotification的本地图像图标?

如何在Ionic mobile应用程序中设置$cordovaLocalNotification的本地图像图标?,cordova,ionic-framework,ionic,localnotification,ngcordova,Cordova,Ionic Framework,Ionic,Localnotification,Ngcordova,我正在使用Ionic框架开发一个移动应用程序,目前正在尝试配置本地通知。我在用这个 通知目前正在工作,但我似乎不知道如何从本地文件设置图标。我的图像当前位于我的爱奥尼亚项目存储库中,路径为“www/img/image.png”。我正在尝试使用以下代码计划通知: var alarmTime = new Date(); alarmTime.setMinutes(alarmTime.getMinutes() + 15); $cordovaLocalNotification.s

我正在使用Ionic框架开发一个移动应用程序,目前正在尝试配置本地通知。我在用这个

通知目前正在工作,但我似乎不知道如何从本地文件设置图标。我的图像当前位于我的爱奥尼亚项目存储库中,路径为“www/img/image.png”。我正在尝试使用以下代码计划通知:

  var alarmTime = new Date();
      alarmTime.setMinutes(alarmTime.getMinutes() + 15);

    $cordovaLocalNotification.schedule({
      id: Math.random().toString(),
      date: alarmTime,
      message: 'Timeout Warning',
      title: 'Return to prevent your session from expiring.',
      autoCancel: false,
      icon: 'img/image.png'
    }, $scope);
通知会起作用,但所需的图标不会出现。在图标选项中,我还尝试了“www/img/image.png”,以及file://img/image.png'. 每次,我总是看到默认的cordova robot图标,而不是我试图指定的图标

有人对如何正确设置图标选项有什么建议吗?文档给出了使用外部图像的示例,但是否可以使用本地图像

$cordovaLocalNotification.schedule({
  id: Math.random().toString(),
  date: alarmTime,
  message: 'Timeout Warning',
  title: 'Return to prevent your session from expiring.',
  autoCancel: false,
  icon: 'someimage'
}, $scope);
上面示例中的图标名称指向以下位置:
/platforms/android/res/drawable/
要使插件使用图标,图像文件必须位于此路径中,并按照参数中的定义命名。在这种情况下,它们是:

/platforms/android/res/drawable/someimage.png
在此处找到解决方案:

此外,请查看github上的插件文档:


您似乎应该使用公共url中的图标,尝试将您的图标上载到公共可访问的url(驱动器、DrobBox、tinypng..)。

要使用本地文件,请使用路径作为文件://

您可以使用www文件夹中的任何文件作为/assets/www/,例如,您将图像放入www/img中的文件夹,路径需要设置为file://assets/www/img/your_file.png

将通知用图标应用程序设置为file://res/drawable-ldpi-v4/icon.png 例如:

      $cordovaLocalNotification.schedule({
            id: message.number,
            date: d,
            message: message['message'],
            title: message['name'],
            //ongoing: true //not cleared messages
            sound: null,
            icon: 'file://res/drawable-ldpi-v4/icon.png'
            //OR file://assets/www/img/your_file.png
        })
在花了几个小时讨论这个问题后,我看到上面的一条评论说,这是真的

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

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


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

不幸的是,本地路径仍然不起作用。将尝试将其发布到公共可访问的url。@Blake是否尝试从url设置图标?它对你有用吗?@Vandervidi不,我仍然无法设置自定义图标图像。我有一些问题,任何解决方案!!请:(你检查过ngCordova文档了吗?(我已经编辑了答案)
 $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');
        });
      };