1

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

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

完美运行。但是当设备没有连接到USB(电脑)时,它就停止了。

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

如何解决?

谢谢,埃亚尔。

4

1 回答 1

1

如何解决?

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

步骤#2:AlarmManager用于设置您的计划工作,让工作由 a 执行WakefulIntentService,因此设备将唤醒以完成工作,保持清醒足够长的时间以完成工作,然后在完成后重新进入睡眠状态(并让您的服务在作业之间关闭,因此它不会不断占用用户的 RAM)。

于 2012-04-15T13:53:54.247 回答