-4

デバイスのタブバーをクリックしてインターネット接続を確認したいのですが、デバイスが Wi-Fi またはモバイル ネットワークに接続されている場合は、API をさらに呼び出す必要があります。それ以外の場合は、インターネット接続を確認するダイアログが 1 つ表示され、アプリケーションは同じページに留まる必要があります。 . 助けていただければ幸いです。

4

1 に答える 1

2
private boolean isNetworkAvailable() {
    ConnectivityManager connectivityManager 
          = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
    return activeNetworkInfo != null;
}

Android でインターネット接続を確認するサンプル コードを次に示します。

ユーザー権限を追加する必要がある場合もあります

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

どの接続が確立されているかを確認したい場合は、このコードスニペットを使用してください

private boolean networkConnection() {
    boolean wifiConnection = false;
    boolean mobileConnection = false;

    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo[] netInfo = cm.getAllNetworkInfo();
    for (NetworkInfo ni : netInfo) {
        if (ni.getTypeName().equalsIgnoreCase("WIFI"))
            if (ni.isConnected())
                wifiConnection = true;
        if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
            if (ni.isConnected())
                mobileConnection = true;
    }
    return wifiConnection || mobileConnection ;
}
于 2012-07-03T06:42:07.183 に答える