在我的应用程序中,我有一项服务正在向服务器查询数据。该服务每 x 分钟查询一次服务器,可以配置。当我运行应用程序时,连接到 USB 电缆,
timer.schedule(new MyTimerTask(), delayInSec, TimeUnit.SECONDS);
完美运行。但是当设备没有连接到USB(电脑)时,它就停止了。
当设备重新连接到 USB 时,它会恢复工作。
如何解决?
谢谢,埃亚尔。
在我的应用程序中,我有一项服务正在向服务器查询数据。该服务每 x 分钟查询一次服务器,可以配置。当我运行应用程序时,连接到 USB 电缆,
timer.schedule(new MyTimerTask(), delayInSec, TimeUnit.SECONDS);
完美运行。但是当设备没有连接到USB(电脑)时,它就停止了。
当设备重新连接到 USB 时,它会恢复工作。
如何解决?
谢谢,埃亚尔。
如何解决?
第 1 步:删除现有的ScheduledExecutorService
实现。
步骤#2:AlarmManager
用于设置您的计划工作,让工作由 a 执行WakefulIntentService
,因此设备将唤醒以完成工作,保持清醒足够长的时间以完成工作,然后在完成后重新进入睡眠状态(并让您的服务在作业之间关闭,因此它不会不断占用用户的 RAM)。