我只是希望用户使用EditText字段(或者可能是Datepicker)选择日期,然后应用程序将其存储在SQLite数据库中。 (我只存储当月的日期,因此每个月在特定日期 - 第1天,第10天,第22天等 - 它会弹出。)通知系统出现并检查该日期并显示“提醒”状态栏中的通知,将其直接带到应用程序,以便在按下时更新某些信息。
基于简单教程here(在“基础知识”部分中),“when”变量决定“何时”弹出通知?如果是这样,我可以使用从数据库动态生成的日期变量填充它吗?
答案 0 :(得分:2)
通知系统出现并检查该日期,并在状态栏中显示“提醒”通知,该通知会将其直接带到应用程序,以便在按下时更新某些信息。
如果“通知系统”是指“我写的应用程序”,那么这是可能的。使用AlarmManager
为您指定的时间安排闹钟,将控制路由到可以创建和显示BroadcastReceiver
的{{1}}。
基于这里的简单教程(锡“基础知识”部分),是什么决定“何时”通知弹出的“何时”变量?
没有。它是与Notification
相关联的时间戳,用于显示目的(例如,可能出现在通知抽屉中)。
答案 1 :(得分:0)
是Date有一个方法,它将返回给你的值,作为一个以毫秒为单位表示的长值,从某个时间点开始(与System.currentTimeinMillis()相同)
long when = mDate.getTime();
答案 2 :(得分:0)
不,我认为“何时”应该表明事件发生的时间。请参阅this documentation,搜索setWhen(long when)
。
如果您不希望立即显示通知,则需要在长时间运行的服务中设置自己的计时器或其他内容。如果您可以保持服务正常运行,请查看Handler课程,尤其是postAtTime()
方法。