繁体   English   中英

使用本地通知插件的多个通知-Phonegap

[英]Multiple notification using Local Notification plugin - Phonegap

Katzer本地通知插件

我可以设置和使用单个通知。

根据描述,可以使用

 cordova.plugins.notification.local.schedule([{
    id: 1,
    text: "Multi Notification 1",
    sound: isAndroid ? 'file://sound.mp3' : 'file://beep.caf',
    data: { secret:key }
},{
    id: 2,
    title: "Local Notification Example",
    text: "Multi Notification 2",
    icon: "http://sciactive.com/pnotify/includes/github-icon.png"
}]);

但是我的通知是动态的,它的总数也是动态的。 例如,说total是保存通知total的变量。 total可以是1或10或30等。

现在如何为其构建数组? 我尝试过这样

for(i=0;i<total;i++)
{
    // ......... calculate bhhour,vmin,vsec etc. ............. //

    time_for_noti=new Date(year,month-1,parseInt(i),vhour,vmin,vsec);

    arr[i]=' id: app_'+i+' , title: ' +i+' - '+time_for_noti+',text: app alarm.,sound: null,at  :    '+time_for_noti+'  ';

}

接着

cordova.plugins.notification.local.schedule(arr);

应用程序挂起一段时间(例如15到20秒),然后崩溃。 然后我在字符串前后尝试了括号“ {}”。

for(i=0;i<total;i++)
{
    // ......... calculate bhhour,vmin,vsec etc. ............. //

    time_for_noti=new Date(year,month-1,parseInt(i),vhour,vmin,vsec);

    arr[i]='{ id: app_'+i+' , title: ' +i+' - '+time_for_noti+',text: app alarm.,sound: null,at  :    '+time_for_noti+'  }';

}

同样的结果。 在计划行执行10到15秒后,应用崩溃。 我也尝试过手动制作一个巨大的字符串,例如

ex='[{ id:........} , {..........}]';

接着

cordova.plugins.notification.local.schedule(ex);

该行执行后立即使应用程序崩溃。 我知道这是一个愚蠢的主意,但绝望的时光。

我做错了什么? 如何动态获得此多个警报,以获取总计20-40的通知? 我想念的是什么?

我认为数组中的每个元素都必须是一个对象,而不是字符串。 你尝试过这样的事情吗?

arr[i]={ id: i, text: "Multi Notification " + i };

也就是说,用大括号替换对象周围的引号。

我自己无法尝试,因为我使用的Meteor版本似乎工作方式不同。

无需添加多个通知。 我循环播放1条通知的声音,直到用户单击它为止。 并提供更多类似功能的警报,当触发通知时,我将应用程序置于前台。

看看https://github.com/vasani-arpit/cordova-plugin-local-notifications/blob/master/README.md 它是从Katzer Local通知插件派生的,因此所有语法都是相同的。

这是我的解决方案,效果很好:

var notiflist = [];
for(var i = 0; i < data.length; i++) {
   notiflist[i] = { id: i, title: data[i].Title, text: data[i].TextPush };
} 
cordova.plugins.notification.local.schedule(notiflist);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM