前台服务还是标准服务?

Foreground Service or standard service?

我有 Fragment,它基本上是一个显示用户收到的任何消息的视图。我想要创建一些东西,每 5 秒检查一次是否有任何新消息,如果找到,会将它们附加到我保存消息的 ListView 中。我的问题是,据我所读,服务是解决这个问题的方法。但是,由于我将通过此服务与应用程序通信,我想知道我应该使用哪个服务。

我应该使用前台服务还是标准服务?

我的目标是无论用户在我的应用程序中的哪个位置,我都能够收到一些通知,告知有新消息已通过,然后在发生新消息时执行功能。

我想根据最佳实践正确编码。

如果您只想在用户使用您的应用程序时调用您的服务方法,您只需要使用 sticky service,但如果您想要即使用户将您的应用从最近使用的应用中滑开,您也应该调用此方法,您应该使用 not_sticky service.

Foreground service 最常用于您不希望任务在从最近的应用程序中滑动后一秒钟停止的情况,例如在后台播放音乐。

但在你的情况下,最好的选择是使用 postDelayed() 并为其设置 5 秒延迟 并摆脱 service.