次のコードを使用して、電話がインターネットに接続されているかどうかを識別しています。
public static boolean isOnline(Context context) {
try {
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
} catch(Exception e) {
return false;
}
}
このチェックでは、電話が自宅のwifiに接続されているが、インターネットに接続されていないことに注意してください。それでも、このメソッドは私をtrueにしています。インターネットが存在すると仮定してコードを試行すると、アプリケーションがクラッシュします。クラッシュを防ぐためにさらに例外処理を追加できますが、実際のインターネット接続ステータスを返すことができるインターネット接続を確認するより良い方法が必要です...