如何在Ionic mobile应用程序中设置$cordovaLocalNotification的本地图像图标?
我正在使用Ionic框架开发一个移动应用程序,目前正在尝试配置本地通知。我在用这个 通知目前正在工作,但我似乎不知道如何从本地文件设置图标。我的图像当前位于我的爱奥尼亚项目存储库中,路径为“www/img/image.png”。我正在尝试使用以下代码计划通知:如何在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
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');
});
};