Android 意图服务+通知

Android Intent service + notifications

我的应用程序中有 运行 在后台执行的任务。这些任务可以长时间执行一个小时或更长时间。

有两个问题:

1) 我需要向用户显示任务的状态。这该怎么做?每次都创建一个通知?解决此问题的最佳做法是什么?

2)是否可以让intent服务执行到最后不掉线?

如果你想让你的服务在完成任务后保持运行,IntentService不是最好的选择。您可以使用 Foreground service 来实现您的两个要求 - 向用户显示通知和长 运行 任务

编辑:因为 foreground service 只是正常服务,它在主线程上是 运行,所以您需要使用 Async task 进行实际的后台工作(或任何其他做异步工作的方式)。 从好的方面来说——使用前台服务将使系统不太可能停止您长时间的 运行 工作