2016-06-27 10 views
1

私は、この回答から取得したコードを使って、アプリでサーバーのIP ping結果の変更を追跡しています。 https://stackoverflow.com/a/28856469/6173138 このコードの問題は、最初の実行時にpingの変更を追跡することしかできず、定期的に追跡したいということです。私はそれがBroadcastReceiverを使用してインターネット接続を検出するように動作するようにしたいが、私の場合はpingの状態を検出するだろう。定期的にネットワークの変更を追跡する方法

誰でもこのお手伝いできますか?

答えて

0

ScheduledThreadPoolExecutorを使用すると、定期的にAsyncTaskを実行して新しいpingステータスを取得できます。例えば

、あなたが実行したい場合は、あなたのAsyncTaskがping 5分ごとにチェックする:返信用

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

おかげで..私は私のコードでこの作品を置く必要がありますか? – emenpy

+0

これは本当にあなたがいつpingステータスの取得を開始したり停止したりするかに依存しています。一般的には、アプリがフォアグラウンドにあるときに起動し、アプリがバックグラウンドになると停止するので、永遠に実行されることはありません。 アクティビティライフサイクル: https://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle – nicobatu

関連する問題