以下のコードを使用して、アプリケーションのスプラッシュ画面でユーザーがインターネットに接続しているかどうかを検出していますが、ユーザーが特定のアクティビティを行っているときは常にこれを検出する必要があります。ターンバイターン方式のナビゲーションを使用していて、インターネット接続に依存していると想像してください。そのため、インターネット接続の切断が発生したときにそれを検出する必要があります。
無限ループでアプリの速度を落とさずにこれを行うにはどうすればよいですか?
private boolean isOnline(Context context) {
try {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
return (networkInfo != null && networkInfo.isConnected());
} catch (Exception exc) {
return false;
}
}