当USB未连接时,ScheduledExecutorService停止

时间:2012-04-15 13:39:18

标签: android service scheduled-tasks

在我的应用程序中,我有一个服务正在查询服务器的数据。 此服务每隔x分钟查询服务器,可以进行配置。 当我运行应用程序时,连接到USB电缆,

timer.schedule(new MyTimerTask(), delayInSec, TimeUnit.SECONDS);

完美无缺。但是当设备未连接到USB(计算机)时,它就停止了。

当设备重新连接到USB时,它将恢复工作。

如何解决?

谢谢, 的Eyal。

1 个答案:

答案 0 :(得分:1)

  

如何解决?

第1步:删除现有的ScheduledExecutorService实施。

步骤2:使用AlarmManager设置您的预定作品,让工作由WakefulIntentService实施,这样设备就会醒来做好工作,保持清醒足够长的时间来完成工作,然后在完成后重新进入休眠状态(并让你的服务在两个工作之间关闭,因此它不会不断地占用用户的RAM)。