我创建了一个(AutoTestService)服务,以单循环方式执行某些任务。完成循环后,为下一个循环设置警报以执行任务(再次警报调用AutoTestService)。在每个任务中,我暂停10/20(使用Thread.sleep)秒的线程并转到下一个任务。使用AlarmManaager为WakefulBroadcastReceiver启动服务。
当手机屏幕开启且连接到USB时,它工作正常。但如果没有USB的手机睡眠,我的服务就会停止执行。我怀疑当手机处于睡眠状态时,thread.sleep不会恢复。应用程序在Android 5.1& 5.1.1
任何人提出建议都表示赞赏。我很久就在苦苦挣扎。
答案 0 :(得分:1)
IntentService类提供了一个简单的结构,用于在单个后台线程上运行操作。这使它能够处理长时间运行的操作,而不会影响用户界面的响应能力。此外,IntentService不受大多数用户界面生命周期事件的影响,因此它会在关闭AsyncTask的情况下继续运行