我从这个答案中获取了一段代码来跟踪应用程序中的服务器IP ping结果更改。 https://stackoverflow.com/a/28856469/6173138 这段代码的问题在于它只能在第一次运行时跟踪ping更改..我想定期跟踪它。我希望它像使用BroadcastReceiver检测Internet连接一样工作,但在我的情况下会检测ping状态。
有人可以帮我吗?真的很感激任何建议
答案 0 :(得分:0)
您可以使用ScheduledThreadPoolExecutor定期运行AsyncTask
并获取新的ping状态。
例如,如果您想运行AsyncTask
每5分钟检查一次ping:
ScheduledThreadPoolExecutor scheduler = new ScheduledThreadPoolExecutor(1);
scheduler.scheduleAtFixedRate(yourAsyncTask, 0, 5, TimeUnit.MINUTES);