在我的应用程序中,我有一个服务正在查询服务器的数据。 此服务每隔x分钟查询服务器,可以进行配置。 当我运行应用程序时,连接到USB电缆,
timer.schedule(new MyTimerTask(), delayInSec, TimeUnit.SECONDS);
完美无缺。但是当设备未连接到USB(计算机)时,它就停止了。
当设备重新连接到USB时,它将恢复工作。
如何解决?
谢谢, 的Eyal。
答案 0 :(得分:1)
如何解决?
第1步:删除现有的ScheduledExecutorService
实施。
步骤2:使用AlarmManager
设置您的预定作品,让工作由WakefulIntentService
实施,这样设备就会醒来做好工作,保持清醒足够长的时间来完成工作,然后在完成后重新进入休眠状态(并让你的服务在两个工作之间关闭,因此它不会不断地占用用户的RAM)。