根据db值在30分钟之前设置多个本地通知

时间:2018-05-09 07:10:39

标签: android android-sqlite alarmmanager android-notifications notificationmanager

我有 3个问题,我已经搜索了很多,找不到准确或明确的参考,因为我是Android编程的新手。

  1. 我有 2个表类别和任务。 类别表包含以下字段
  2.   

    id(int),name(text),status(int))

    enter image description here

    ,任务表包含以下字段

      

    id(int),category_id(从类别表中引用的Foreign_key),   name(text),createdDate(datetime),modifiedDate(datetime),   的dueDate(时间戳)

    enter image description here

    必须在dueDate(时间戳)前30分钟通知用户,在我的情况下, n同时没有任务所以我必须显示所有任务的本地通知。如何实现这个目标?

    1. 对于类别和任务,我都有上下文选项的编辑和删除功能。如果我更新任务,则本地通知应相应更改。如何实现这个目标?

    2. 点击通知,它应重定向到相应的任务页,这是类别(MainActivity或Parent活动)的子活动。如何实现这个目标?

    3.   

      注意:对于这个应用程序我正在使用sqlite本地存储。一个通知不应该通过任何方式覆盖另一个通知。

      如果我得到专家的明确答复,希望这个问题对很多人有用。

      非常感谢,如果有人回答这个问题,我们非常感谢。

1 个答案:

答案 0 :(得分:1)

  1. 以1分钟为间隔运行一个调度程序,每分钟比较due date 30分钟差异。
  2. 如果匹配,只需创建一个task_id(匹配行)的通知 notification id
  3. 将要在任务页面上显示的所有数据保存在一个包中。
  4. 将该捆绑包作为额外包含在包含活动的Intent中(任务页面)。
  5. 将意图保持在待定意图中。
  6. 将该pendingIntent对象与mBuilder.setContentIntent(pendingIndent)
  7. 等通知构建器相关联
  8. 发出通知。
  9. 由于所有task_id(已分配为Notification_ID)都是唯一的,因此任何通知都不会覆盖其他通知。

    尝试一下肯定会工作。谢谢!