应用处于 运行 时重复后台查询

Repeated Background Query while app is running

我发现 Whosebug 非常有用,但这次我找不到确切的答案:我害怕为我的案例选择错误的解决方案。

我正在创建一个管理餐厅预订的应用程序。

当作为一家餐厅登录时,我希望能够在后台定期调用查询(我肯定已经有),returns [中的新预订插入的数量=25=] db 并更新我的操作栏中的通知(我已经实现了)。

我本来打算使用 Handler、IntentService 或 Service,但每次我都发现了一些优缺点,我真的被卡住了。

我希望仅当应用程序为 运行 时,每 1-2-3 分钟(不重要)进行一次此查询 运行,并且此查询的简单结果(只是数字新预订)作为要处理的输出,以便在我的操作栏中显示它。

感谢大家

马特奥

如果您只想在应用程序位于前台时执行查询,那么 bound Service 可能正是您要找的。使用 Service 中的 AsyncTasks 查询数据库,并从 Service.

中更新前景 Activity

编辑:

逐点回答:

1. 要创建周期性 Service,请使用 AlarmManagerPendingIntent。网上有很多这样的例子。

2. 只要 Activity 还活着,一个 bound Service 就是活跃的,永远不会除此以外。它可以在完成工作后停止。有关更多信息,请参阅上面的 link。

3. 看上面的link,再研究几个例子就明白了。