サーチ…


データ接続を確認する

この方法は、特定の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