【问题标题】:android- how to check local Sqlite database for new data and push notification continuously?android-如何检查本地Sqlite数据库的新数据并持续推送通知?
【发布时间】:2018-04-18 17:36:06
【问题描述】:

我有一个应用程序用于创建和提醒在本地使用 sqlite 数据库的日常任务。
我想在任务到达时间时通过推送通知提醒用户。 我从事一项服务来检查数据库,如果任务的数据和时间与设备的数据和时间匹配,则显示推送通知。
首先我决定使用 Job scheduler。但检查数据库的最短时间是 15 分钟。
然后我尝试 Alarm manager 每分钟检查一次数据库。但由于工作量大,这似乎是个坏主意。
然后我阅读了有关 Content Observer 的内容,发现它并没有准确地说明对我不起作用的新数据。
我该怎么办?还有其他方法还是我应该坚持使用警报管理器?

【问题讨论】:

  • 警报管理器不建议使用。如果您经常在其上执行任务,它会耗尽电池电量。您最好编写适当的逻辑,例如所有任务时间的 GCD,作为 AlarmManager 的唤醒时间。只是为了减轻负担。
  • GCD 到底是什么?
  • 最大公约数

标签: android service alarmmanager android-jobscheduler contentobserver


【解决方案1】:

您可以在计划任务时设置一个准确的警报,而不是在检查数据库的时间间隔内设置重复警报吗?它仅在任务到期时执行。并且在重新启动时,当您的应用收到启动完成意图时,它会遍历数据库设置所有必需的一次性警报?

【讨论】:

  • 为此我应该有一个服务来知道何时添加数据。我应该使用什么样的服务?
  • 如果数据是通过你的app的ui添加的,那么你就不需要监控了,因为你的app会知道数据什么时候发生变化。
猜你喜欢
  • 2014-05-25
  • 2016-03-18
  • 1970-01-01
  • 2016-10-15
  • 2020-05-26
  • 2016-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多