如何定期跟踪网络更改

时间:2016-06-27 18:41:41

标签: java android performance broadcastreceiver ping

我从这个答案中获取了一段代码来跟踪应用程序中的服务器IP ping结果更改。 https://stackoverflow.com/a/28856469/6173138 这段代码的问题在于它只能在第一次运行时跟踪ping更改..我想定期跟踪它。我希望它像使用BroadcastReceiver检测Internet连接一样工作,但在我的情况下会检测ping状态。

有人可以帮我吗?真的很感激任何建议

1 个答案:

答案 0 :(得分:0)

您可以使用ScheduledThreadPoolExecutor定期运行AsyncTask并获取新的ping状态。

例如,如果您想运行AsyncTask每5分钟检查一次ping:

ScheduledThreadPoolExecutor scheduler = new ScheduledThreadPoolExecutor(1);
scheduler.scheduleAtFixedRate(yourAsyncTask, 0, 5, TimeUnit.MINUTES);