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 本地通知插件图标的主要内容,如果未能解决你的问题,请参考以下文章

清除 Android 的本地通知 cordova 插件

我无法使用 cordova 本地通知插件取消通知

使用 Cordova 的 Android 本地通知插件

cordova插件之Local Notification(本地通知)

为没有 Cordova 插件的 Android PWA 发送本地推送通知

科尔多瓦插件本地通知和数据