使用警报管理器每隔 X 分钟从主线程启动一次服务



我目前在我的活动中使用AlarmManager每X分钟启动一次服务。

它似乎有效,但看起来该服务最初在主线程上运行,我认为这会导致随机 ANR。(这是使用一些代码片段来检查 looper 确定的,返回的唯一 true 值是服务启动时(然后启动 Asynctasks))

如何使用警报管理器在其自己的线程上启动服务?

还是我应该以其他方式启动此重复服务?

如何使用警报管理器在其自己的线程上启动服务?

AlarmManager不会影响您的线程。您需要安排服务在后台线程上执行其工作。最简单的方法是扩展IntentService并将您的工作放在onHandleIntent() .

最新更新