android-如何检查本地Sqlite数据库中的新数据并持续推送通知?

android-如何检查本地Sqlite数据库中的新数据并持续推送通知?,android,service,alarmmanager,android-jobscheduler,contentobserver,Android,Service,Alarmmanager,Android Jobscheduler,Contentobserver,我有一个应用程序,用于创建和提醒在本地使用sqlite数据库的例行任务。 我希望当任务到达其时间时,使用推送通知提醒用户。 我使用了一个服务来检查数据库,如果任务的数据和时间与设备显示推送通知的数据和时间匹配。 首先,我决定使用作业调度程序。但检查数据库的最短时间是15分钟。 然后我尝试每隔一分钟检查一次数据库。但由于工作量太大,这似乎是个坏主意。 然后我阅读了《内容观察者》(Content Observer),发现它没有告诉我确切的新数据,这对我来说并不适用。 我该怎么办?有没有其他

我有一个应用程序,用于创建和提醒在本地使用sqlite数据库的例行任务。
我希望当任务到达其时间时,使用推送通知提醒用户。 我使用了一个服务来检查数据库,如果任务的数据和时间与设备显示推送通知的数据和时间匹配。
首先,我决定使用作业调度程序。但检查数据库的最短时间是15分钟。
然后我尝试每隔一分钟检查一次数据库。但由于工作量太大,这似乎是个坏主意。
然后我阅读了《内容观察者》(Content Observer),发现它没有告诉我确切的新数据,这对我来说并不适用。

我该怎么办?有没有其他方法或者我应该坚持使用Alarm Manager?

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

不建议使用报警管理器。如果您经常在其上执行任务,它会耗尽电池电量。您最好编写适当的逻辑,例如所有任务时间的GCD,作为AlarmManager的唤醒时间。只是为了减少负载。GCD到底是什么?最大的公约数,我应该有一个服务来知道何时添加数据。我应该使用哪种服务?如果数据是通过应用程序的ui添加的,那么您不需要监视它,因为您的应用程序将知道数据何时更改。