1

我正在运行一个远程服务,它有一个处理程序,它每 15 分钟执行一次操作(handler.postDelayed()),其中涉及发出 Internet 请求。有时我注意到它没有发生。互联网(移动数据连接在手机睡眠或处理器睡眠时关闭)。这段时间会发生什么?

我猜当屏幕进入睡眠状态时互联网会关闭。确保在所需的时间间隔(半小时)内唤醒(打开互联网)并在远程服务中完成工作的有效方法是什么?该服务应该始终在后台运行。我可以使用 AlarmManager 执行此操作吗(它可以触发远程服务中发生的某些工作)吗?

4

1 回答 1

0

如相关问题的回答中所述,如果您仅使用 Wi-Fi 进行此服务,则可以尝试使用WifiLock 。
另一个原因可能是您的服务在发现无用时被 Android 破坏了。如果是这种情况,您可以尝试前台服务选项。请注意,这并不能保证服务不会被破坏,但与其他服务相比的优先级会降低,从而为您的服务提供更多生存机会。

于 2012-04-18T06:39:02.693 回答