用于长时间后台操作的广播接收器或服务



我正在开发一个定期从服务器获取数据的应用程序。现在我使用的是 ScheduledThreadPoolExector,但我认为不够干净,所以我决定使用 AlarmManager 来创建定期任务。

哪个更适合此任务:广播接收器还是服务?我读过其中一个有 10 秒的限制,还是两者都有这个限制?

事实上,一个广播接收器只能存活10秒。服务可以存活更长时间(取决于 Android 操作系统是否需要资源,它可能会杀死您的应用程序)。

您的服务可以是"普通"服务或意图服务(在没有更多可供处理的意图后自动终止)。我会推荐一个意图服务。

您可以创建一个将由 IntentService 接收的 Intent,并将此 Intent 添加到 AlarmManager 中。

最新更新