Android
データ接続の確認
サーチ…
データ接続を確認する
この方法は、特定のIPまたはドメイン名にpingを実行してデータ接続をチェックする方法です。
public Boolean isDataConnected() {
try {
Process p1 = java.lang.Runtime.getRuntime().exec("ping -c 1 8.8.8.8");
int returnVal = p1.waitFor();
boolean reachable = (returnVal==0);
return reachable;
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
ConnectivityManagerを使用して接続を確認する
public static boolean isConnectedNetwork (Context context) {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo () != null && cm.getActiveNetworkInfo ().isConnectedOrConnecting ();
}
データが許可されている間にネットワークインテントを使用してタスクを実行する
デバイスがネットワークに接続すると、インテントが送信されます。多くのアプリはこれらのインテントをチェックしませんが、アプリケーションが正常に動作するようにするには、通信が可能なときに通知するネットワーク変更インテントを聞くことができます。ネットワーク接続を確認するには、たとえば、次の句を使用します。
if (intent.getAction().equals(android.net.ConnectivityManager.CONNECTIVITY_ACTION)){ NetworkInfo info = intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); //perform your action when connected to a network }
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow