none
每天按固定时间进行toast通知的疑问 RRS feed

  • 问题

  •       我正在尝试做一个类似windows rt 自带 日历的一款应用进行练习,在开发过程中发现对于日程提醒这个功能没有办法实现,尝试使用ScheduledToastNotification(xml,time) 来实现,发现该方法只能实现对于一次通知的提醒,如果一个提醒需要每天都进行,那么这个类就没有办法满足需求。 于是我又尝试配合后台任务,每隔一段时间就触发一次后台任务,后台任务中对所有已经存在的日程信息进行判别,对于未存在计划通知的日程进行创建计划通知,但是这里有个问题,就是我没有办法准确的判断这个日程是否已经存在了提醒通知,并且该提醒通知尚未触发。尝试使用 ToastNotificationManager.CreateToastNotifier().GetScheduledToastNotifications() 来获得该应用的所有待触发的Toast,遍历这个集合并与日程实体对象的id进行比较,如果不存在则表示需要创建Toast,这样反复检查创建确实可以实现需求,但是如果把应用完全结束,就发现ToastNotificationManager.CreateToastNotifier().GetScheduledToastNotifications() 无法获取到该应用的所有待触发的Toast集合,该集合永远为空。该问题如何解决,或者实现类型windows8 metro 日历应用的每天提醒功能 怎么实现?给个思路。我已经绞尽脑汁想了好几天,希望得到帮助,谢谢。
    2012年11月7日 3:17

答案

  • 不过系统应用在没有网络下也无法进行推送通知。但是后台任务又无法访问应用的ToastNotificationManager.CreateToastNotifier().GetScheduledToastNotifications() 所有待触发的Toast集合,这个是无法跨进程的。后台任务在你这里是和应用本身 分别两个独立进程。

    所以你这里完美的方案确实没有,推送是一个折中 且我们推荐的方法。


    Bob Bao [MSFT]
    MSDN Community Support | Feedback to us

    2012年11月8日 9:17
    版主

全部回复