我正在开发一个定期从服务器获取数据的应用。现在我正在使用ScheduledThreadPoolExector,但我觉得还不够干净,所以我决定使用AlarmManager创建周期性任务。
哪个更适合此任务:BroadcastReceiver或Service?我已经读过其中一个有10秒的限制,或两者都有这个限制吗?
答案 0 :(得分:1)
事实上,BroadcastReceiver只能活10秒。服务可以延长寿命(取决于Android操作系统是否需要资源,它可以杀死您的应用)。
您的服务可以是“普通”服务或IntentService(在没有更多可用于处理的Intent之后会自动终止)。 我推荐一个IntentService。
您可以创建一个将由IntentService接收的Intent,并将此Intent添加到AlarmManager。