Apache Cordova 本地通知插件图标
Posted
技术标签:
【中文标题】Apache Cordova 本地通知插件图标【英文标题】:Apache Cordova Local Notification plugin icon 【发布时间】:2015-03-05 22:22:20 【问题描述】:有人用过local notification plugin吗?
我正在尝试为 android 构建一个应用程序,该应用程序显示带有用户相机拍摄的图片中的图标的通知。但是我无法让“图标”工作。我尝试在网络上使用 .bmp 文件和外部文件(以测试以防它读取我的文件系统时出现问题),但没有运气。
代码非常简单,我可以得到通知,但不能得到图标。以下是我的代码:
. . .
for (i = 0; i < _notificationDates.length; i++)
$cordovaLocalNotification.add(
id: _notificationKey + _model.id + "_" + i,
date: _notificationDates[i],
message: 'Reminder to take ' + _model.name + '. ' + _model.description,
icon: _model.fileURI // have tried using external (http://...) .bmp or .jpg file does not work as well
//,smallIcon: _model.fileURI
);
. . .
_model.fileURI 指向内部存储的图像,但是我也尝试过指向 .bmp 或 .jpg 图像的外部 URI(例如;http:// ......)
【问题讨论】:
请分享您的代码 嗨 VeldMuijz,我已经添加了代码。谢谢。 我也有同样的问题 - 我通过网页 URL 添加了一个 24 像素的 PNG 图标,但 Android 只显示标准的铃铛图标 我也是,我有一些问题,请你找到解决方案:'( 【参考方案1】:迟到的答案。我也有这个问题。不得不在我的设备上一次又一次地运行它只是为了找到正确的 uri,这非常烦人。过了一会儿,它似乎只在图标位于平台/android/res/drawable 时才有效。 我最终创建了一个 after_build_hook。它在Github
干杯。
编辑:好的,要点:
在cordova构建时,平台/android/res/drawable-xxx文件夹会在你有类似的东西时自动创建
<icon src="res/android/drawable-ldpi/icon.png" density="ldpi" />
在您的 config.xml 中。 但是,cordova-plugin-local-notifications 图标的默认文件夹是platforms/android/res/drawable。我找不到像这样创建默认文件夹的方法。所以我创建了一个 after_build_hook。
代码:
var fs = require('fs-extra');
// rootdir
var rootDir = process.cwd();
//emptyDir creates dir when not present
fs.emptyDir(rootDir+'/platforms/android/res/drawable', function (err)
//simple task, just nest it
fs.copy(rootDir + '/res/android/drawable', rootDir +'/platforms/android/res/drawable', function (err)
if (err) console.log(err)
if (!err) process.stdout.write('created drawable folder')
);
)
这会将您的通知图标从 yourproject/res/drawable 复制到 yourproject/platforms/android/res/android/drawable
将其作为钩子运行。在您的 config.xml 中:
<hook type="after_build" src="scripts/aboveCodeblock.js"/>
【讨论】:
感谢-1!非常一致!不要给任何人编辑答案的机会! 仅供参考:我不是反对你的人。但是,我只是对你投了赞成票,因为编辑后你的答案看起来很棒。 好的,没问题,谢谢是给其他人的:) 感谢 user3791775 ,我不记得我是如何克服这个问题的。 .很久以前...但是感谢您回答这个问题,希望对那些仍然遇到这个问题的人有用..顺便说一句,我没有对你投反对票 谢谢,只是想为其他人节省一些时间...就像 *** 上的其他人一样为我节省了一些时间...以上是关于Apache Cordova 本地通知插件图标的主要内容,如果未能解决你的问题,请参考以下文章
cordova插件之Local Notification(本地通知)