AndroidでWi-Fiが接続されているかどうかを確認するにはどうすればよいですか?


237

Wi-Fiが接続されていない限り、ユーザーにダウンロードを試してほしくない。ただし、Wi-Fiが有効になっているかどうかしかわからないようですが、3G接続は可能です。

android.net.wifi.WifiManager m = (WifiManager) getSystemService(WIFI_SERVICE);
android.net.wifi.SupplicantState s = m.getConnectionInfo().getSupplicantState();
NetworkInfo.DetailedState state = WifiInfo.getDetailedStateOf(s);
if (state != NetworkInfo.DetailedState.CONNECTED) {
    return false;
}

しかし、その状態は私が期待するものではありません。Wi-Fiが接続されているのに、OBTAINING_IPADDRそのままの状態になっています。

回答:


463

ConnectivityManagerを使用してWi-Fiアダプターの状態を取得できるはずです。そこから、接続されているかどうか、または使用可能かどうか確認できます

ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (mWifi.isConnected()) {
    // Do whatever
}

注:追加する必要があることに注意してください(ここではn00bies)

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

あなたに

これが機能するためのAndroidManifest.xml

注2public NetworkInfo getNetworkInfo (int networkType)廃止されました。

このメソッドはAPIレベル23で廃止されました。このメソッドは、同じタイプの複数の接続されたネットワークをサポートしていません。代わりにgetAllNetworks()およびgetNetworkInfo(android.net.Network)を使用してください。

注3public static final int TYPE_WIFI廃止されました。

この定数はAPIレベル28で廃止されました。アプリケーションは、代わりにNetworkCapabilities.hasTransport(int)またはrequestNetwork(NetworkRequest、NetworkCallback)を使用して適切なネットワークを要求する必要があります。サポートされているトランスポート用。


72
これを機能さandroid.permission.ACCESS_NETWORK_STATEせるには、AndroidManifest.xml に追加する必要があることに注意してください(ここでは、私たちの初心者向けです) 。
mgalgs 2011

10
Androidの非常に最近のバージョンでは、mWiFiでNULLを確認する必要があります...ここのコードはnullポインターエラーをスローする可能性があります。developer.android.com/training/basics/network-ops/managing.html、特に「メソッドgetActiveNetworkInfo()はNetworkInfo ...を返す」を参照してください
eb80

1
イーサネットインターフェイスでも動作しました。ConnectivityManager.TYPE_ETHERNETに
MBH '23 / 09/15

3
メソッドNetworkInfo.isConnected()がAPI-23で廃止されました。以下の解決策を投稿しています。
革命的な

1
NetworkInfo.getType()およびConnectivityManager.TYPE_WIFIはAPI 28で廃止されましたconnectivityManager.getNetworkCapabilities(network).hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
。lint

75

メソッドNetworkInfo.isConnected()API-23廃止されたため、Wi-Fiアダプターがオンになっていて、代わりにWifiManagerを使用してアクセスポイントに接続されているかどうかを検出するメソッドは次のとおりです。

private boolean checkWifiOnAndConnected() {
    WifiManager wifiMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);

    if (wifiMgr.isWifiEnabled()) { // Wi-Fi adapter is ON

        WifiInfo wifiInfo = wifiMgr.getConnectionInfo();

        if( wifiInfo.getNetworkId() == -1 ){
            return false; // Not connected to an access point
        }
        return true; // Connected to an access point
    }
    else {
        return false; // Wi-Fi adapter is OFF
    }
}

4
wifiInfoがnullになる可能性があることに言及する価値があるので、ネットワークIDを取得する前にnullを確認する必要があると思います
Nonos

2
NetworkInfo.isConnected()私には非難されていないようです。
EricRobertBrewer 2017年

許可を追加することを忘れないでください:android.permission.ACCESS_WIFI_STATE
Ton Snoei

1
これは、位置情報の許可と位置情報モードがオンになっていないと、Android Qでは機能しなくなります。issuetracker.google.com/ issues / 136021574を参照してください。
Konsumierer

@EricRobertBrewerコメントは最新ではなくなりました。現在、非推奨のAPI 29+です。
nuKs

35

私は単に以下を使用します:

SupplicantState supState; 
wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
supState = wifiInfo.getSupplicantState();

getSupplicantState()を呼び出すときに、これらの状態の1つを返します。

ASSOCIATED-関連付けが完了しました。

ASSOCIATING-アクセスポイントとの関連付けを試行しています。

COMPLETED-すべての認証が完了しました。

DISCONNECTED-この状態は、クライアントは関連付けられていませんが、アクセスポイントの検索を開始する可能性が高いことを示しています。

DORMANT-クライアントが明示的なDISCONNECTコマンドを発行したときに報告されるAndroidに追加された状態。

FOUR_WAY_HANDSHAKE-WPA 4方向キーハンドシェイクが進行中です。

GROUP_HANDSHAKE-進行中のWPAグループキーハンドシェイク。

INACTIVE-非アクティブ状態。

INVALID-通常は表示されないはずの疑似状態。

スキャン-ネットワークをスキャンしています。

UNINITIALIZED-接続なし。


こんにちはドナルです。デバイスがwifiに接続されているかどうかを取得するために同じ方法を使用しましたが、さらに、現在WIFIを使用しているアプリ名を知る必要があります。
AbhishekB 2012年

@AbhishekB、申し訳ありませんが、これに関する経験はありません。Wi-Fi監視アプリのいくつかを見てみてください。コードを確認できるオープンソースのアプリがあるかどうかを確認してください。
ドナルラファティ2012年

サプリカントはWPA(またはWPAの一部のバリエーション)が使用されている場合にのみ使用されるため、このソリューションには疑いがあります。ユーザーが認証またはWEPなしでAPに接続する場合、サプリカントは関与しません。
トム


1
上記の状態のシステムブロードキャストの意図はありますか?@DonalRafferty
Rohit Singh

19

アプリでこれを使用して、アクティブなネットワークがWi-Fiかどうかを確認しています:

ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = cm.getActiveNetworkInfo();
if (ni != null && ni.getType() == ConnectivityManager.TYPE_WIFI)
{

    // Do your work here

}

activeネットワーク(ダウンロードに使用されるネットワーク)がWiFiであることを確認するため、これが最良の答えです
Gavriel

1
NetworkInfo#isConnected非推奨となったのも、これが最良の答えです
Tash Pemhiwa

間違いなく今年(2017年)の最良の回答です。
Daniel Nugent 2017

18

私はこのようないくつかの質問を見て、これを思いつきました:

ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
NetworkInfo mobile = connManager .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if (wifi.isConnected()){
    // If Wi-Fi connected
}

if (mobile.isConnected()) {
    // If Internet connected
}

Root Toolbox PROのライセンスチェックにifを使用していますが、うまく機能しているようです。


8
よさそうですが、なぜConnectivityManagerへの2番目の参照を取得するのかわかりません。この例では、connManagerとconnManager1はどちらも同じオブジェクトです
Nathan Schwermann、2011

1
TYPE_MOBLIEは3gnetまたはgprs netを意味しますか?
herbertD 2012

1
TYPE_MOBILEは、キャリアを使用するすべてのデータを意味します-2G(GPRS ...)、3G(HSDPA ...)、または4G(LTE ...)。
Eugen Pechanec 14年

1
Androidをイーサネットに接続するときにうまく機能するTYPE_ETHERNETを追加できます
MBH

1
getNetworkInfo()ネットワークが存在しない場合はnullを返すことを覚えておく価値はあります。そのため、デバイスにモバイル接続がない場合、これはエラーをスローします。ほとんどの場合、ほとんどのデバイスにはイーサネット接続がないため、TYPE_ETHERNETはこの場合nullを引き起こします。
Knossos

7

一方でジェイソンの答えが正しいか、最近はgetNetWorkInfo(int)が非推奨メソッドです。したがって、次の関数は良い代替手段になります:

public static boolean isWifiAvailable (Context context)
{
    boolean br = false;
    ConnectivityManager cm = null;
    NetworkInfo ni = null;

    cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    ni = cm.getActiveNetworkInfo();
    br = ((null != ni) && (ni.isConnected()) && (ni.getType() == ConnectivityManager.TYPE_WIFI));

    return br;
}

3

WifiManagerあなたを使用して行うことができます:

WifiManager wifi = (WifiManager) getSystemService (Context.WIFI_SERVICE);
if (wifi.getConnectionInfo().getNetworkId() != -1) {/* connected */}

getNeworkIdメソッドは、ネットワークに接続されていない場合にのみ-1を返します。


WIFI_STATE_DISABLED定数値:1(0x00000001の)WIFI_STATE_DISABLING定数値:0(0x00000000の)WIFI_STATE_ENABLED定数値:3定数値をWIFI_STATE_ENABLING(0x00000003):2(0x00000002)WIFI_STATE_UNKNOWN定数値:4(0x00000004)
ルーMorda


これは、位置情報の許可と位置情報モードがオンになっていないと、Android Qでは機能しなくなります。issuetracker.google.com/ issues / 136021574を参照してください。
Konsumierer

3
ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
boolean is3g = manager.getNetworkInfo(
                  ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
boolean isWifi = manager.getNetworkInfo(
                    ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();

Log.v("", is3g + " ConnectivityManager Test " + isWifi);
if (!is3g && !isWifi) {
    Toast.makeText(
        getApplicationContext(),
        "Please make sure, your network connection is ON ",
        Toast.LENGTH_LONG).show();
}
else {
    // Put your function() to go further;
}

1
コードだけでなく、説明を追加した方がよいでしょう。
EdChum 2012年

2
私はisConnected()を使用するでしょう、ドキュメントは言う:boolean isConnectedOrConnecting ()ネットワーク接続が存在するか、確立されている最中であるかを示します。これは、データの読み取りまたは書き込み以外にネットワークに関連する何かを行う必要があるアプリケーションに適しています。後者の場合は、isConnected()代わりにを呼び出します。これにより、ネットワークが完全に使用できることが保証されます。
18446744073709551615 2013年

3

次のコード(Kotlin内)は、API 21から少なくとも現在のAPIバージョン(API 29)まで機能します。関数getWifiState()は、列挙型クラスで定義された、Disable、EnabledNotConnected、およびConnectedの3つのWiFiネットワーク状態の可能な値の1つを返します。これにより、WiFiを有効にするようユーザーに通知したり、既に有効になっている場合は利用可能なネットワークの1つに接続したりするなど、より詳細な決定を行うことができます。しかし、WiFiインターフェースがネットワークに接続されているかどうかを示すブール値のみが必要な場合は、他の関数isWifiConnected()がそれを提供します。前のものを使用し、結果をConnectedと比較します。

これは、以前の回答のいくつかに触発されていますが、Android APIの進化またはIP V6の可用性の徐々に増加によって導入された問題を解決しようとしています。トリックは使用することでした:

wifiManager.connectionInfo.bssid != null 

の代わりに:

  1. getIpAddress()==0。これはIP V4または
  2. getNetworkId()== -1これで、別の特別な権限(場所)が必要になりました

ドキュメントによると:https : //developer.android.com/reference/kotlin/android/net/wifi/WifiInfo.html#getbssid ネットワークに接続していない場合はnullを返します。また、実際の値を取得する権限がない場合でも、接続されている場合はnull以外の値を返します。

また、次の点にも注意してください。

android.os.Build.VERSION_CODES#Nより前のリリースでは、このオブジェクトはContext#getApplicationContext()からのみ取得し、呼び出しプロセス内のメモリリークを回避するために他の派生コンテキストからは取得しないでください。

マニフェストで、以下を追加することを忘れないでください:

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

提案されたコードは次のとおりです。

class MyViewModel(application: Application) : AndroidViewModel(application) {

   // Get application context
    private val myAppContext: Context = getApplication<Application>().applicationContext

   // Define the different possible states for the WiFi Connection
    internal enum class WifiState {
        Disabled,               // WiFi is not enabled
        EnabledNotConnected,    // WiFi is enabled but we are not connected to any WiFi network
        Connected,              // Connected to a WiFi network
    }

    // Get the current state of the WiFi network
    private fun getWifiState() : WifiState {

        val wifiManager : WifiManager = myAppContext.applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager

        return if (wifiManager.isWifiEnabled) {
                    if (wifiManager.connectionInfo.bssid != null)
                        WifiState.Connected
                    else
                        WifiState.EnabledNotConnected
               } else {
                    WifiState.Disabled
               }
    }

    // Returns true if we are connected to a WiFi network
    private fun isWiFiConnected() : Boolean {
        return (getWifiState() == WifiState.Connected)
    }
}

3

NetworkInfoクラスのような、関連するアクセス方法と一緒に、APIレベル29の非推奨されるConnectivityManager#getNetworkInfo()ConnectivityManager#getActiveNetworkInfo()

ドキュメントには、今の人が使用することを示唆してConnectivityManager.NetworkCallback非同期コールバックモニター、または使用のためのAPIをConnectivityManager#getNetworkCapabilitiesまたはConnectivityManager#getLinkPropertiesネットワーク情報の同期アクセスのために

代わりに、呼び出し元はConnectivityManager.NetworkCallback APIを使用して接続の変更を確認するか、ConnectivityManager#getNetworkCapabilitiesまたはConnectivityManager#getLinkPropertiesを使用して同期的に情報を取得するように切り替える必要があります。


WiFiが接続されているかどうかを確認するには、次のコードを使用します。

コトリン:

val connMgr = applicationContext.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager?
connMgr?: return false
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    val network: Network = connMgr.activeNetwork ?: return false
    val capabilities = connMgr.getNetworkCapabilities(network)
    return capabilities != null && capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
} else {
    val networkInfo = connMgr.activeNetworkInfo ?: return false
    return networkInfo.isConnected && networkInfo.type == ConnectivityManager.TYPE_WIFI
}

Java:

ConnectivityManager connMgr = (ConnectivityManager) getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);
if (connMgr == null) {
    return false;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    Network network = connMgr.getActiveNetwork();
    if (network == null) return false;
    NetworkCapabilities capabilities = connMgr.getNetworkCapabilities(network);
    return capabilities != null && capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI);
} else {
    NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
    return networkInfo.isConnected() && networkInfo.getType() == ConnectivityManager.TYPE_WIFI;
}

ACCESS_NETWORK_STATEマニフェストファイルに権限を追加することも忘れないでください。


2

この方法を試してください。

public boolean isInternetConnected() {
    ConnectivityManager conMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    boolean ret = true;
    if (conMgr != null) {
        NetworkInfo i = conMgr.getActiveNetworkInfo();

        if (i != null) {
            if (!i.isConnected()) {
                ret = false;
            }

            if (!i.isAvailable()) {
                ret = false;
            }
        }

        if (i == null)
            ret = false;
    } else
        ret = false;
    return ret;
}

この方法は、インターネット接続が利用可能かどうかを見つけるのに役立ちます。


1
アクティブな接続がwifiかどうかを具体的に探していました。また、conMgrでnullチェックを行う必要はなく、nullになることはありません。
Nathan Schwermann、2013

この質問を確認しいただけますか?:(
Skizo-ozᴉʞS

2

これは私にとってはうまくいきます:

    ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

    // Mobile
    State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();

    // Wi-Fi
    State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();

    // And then use it like this:

    if (mobile == NetworkInfo.State.CONNECTED || mobile == NetworkInfo.State.CONNECTING)
    {
        Toast.makeText(Wifi_Gprs.this,"Mobile is Enabled :) ....",Toast.LENGTH_LONG).show();
    }
    else if (wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING)
    {
        Toast.makeText(Wifi_Gprs.this,"Wifi is Enabled  :) ....",Toast.LENGTH_LONG).show();
    }
    else
    {
        Toast.makeText(Wifi_Gprs.this,"No Wifi or Gprs Enabled :( ....",Toast.LENGTH_LONG).show();
    }

そして、この権限を追加します:

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

2

回答の多くは非推奨のコード、またはより高いAPIバージョンで利用可能なコードを使用しています。今私はこのようなものを使います

ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        if(connectivityManager != null) {
            for (Network net : connectivityManager.getAllNetworks()) {
                NetworkCapabilities nc = connectivityManager.getNetworkCapabilities(net);
                if (nc != null && nc.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)
                        && nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET))
                    return true;
            }
        }
        return false;

1

これがアプリのユーティリティメソッドとして使用するものです。

public static boolean isDeviceOnWifi(final Context context) {
        ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        return mWifi != null && mWifi.isConnectedOrConnecting();
}

接続の確立を確認するときは、isConnectedOrConnectingメソッドが重要であることを指摘しておくとよいでしょう。IsConnectedメソッドが機能しませんでした。
vincent 2016

1

新しいバージョンのAndroid

private void getWifiInfo(Context context) {
    ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    Network[] networks = connManager.getAllNetworks();

    if(networks == null || networks.length == 0)
        return;

    for( int i = 0; i < networks.length; i++) {
        Network ntk = networks[i];
        NetworkInfo ntkInfo = connManager.getNetworkInfo(ntk);
        if (ntkInfo.getType() == ConnectivityManager.TYPE_WIFI && ntkInfo.isConnected() ) {
            final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
            final WifiInfo connectionInfo = wifiManager.getConnectionInfo();
            if (connectionInfo != null) {
                // add some code here
            }
        }

    }
}

権限も追加します


connManager.getAllNetworks()APIレベル21が必要です
Jawandシン

1

@Jason Knightの回答に似ていますが、Kotlinの方法で:

val connManager = getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
val mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)

if (mWifi.isConnected) {
     // Do whatever
}

ConnectivityManager.TYPE_WIFI推奨されていません
ジェローム・Pietri氏

0

これはより簡単な解決策です。Stack Overflowの質問AndroidでWi-Fiが有効になっているかどうかを確認するをご覧ください。

PS許可を与えるためにmanifest.xmlファイルにコードを追加することを忘れないでください。以下に示すように。

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

0

試す

wifiManager.getConnectionInfo().getIpAddress()

これは、デバイスが使用可能な接続になるまで0を返します(私のマシンでは、Samsung SM-T280、Android 5.1.1)。


0

次のようにアクティブ化されていない場合は、WIFIをオンにすることができます。1. @Jason Knightの回答に従ってWIFIの状態を確認します。2.アクティブ化されていない場合は、アクティブ化します。

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

あなたのJavaクラスはそのようなものでなければなりません

public class TestApp extends Activity {
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //check WIFI activation
    ConnectivityManager connManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

    if (mWifi.isConnected() == false) {
        showWIFIDisabledAlertToUser();
    }
    else {
        Toast.makeText(this, "WIFI is Enabled in your devide", Toast.LENGTH_SHORT).show();
    }
}


private void showWIFIDisabledAlertToUser(){
    AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
    alertDialogBuilder.setMessage("WIFI is disabled in your device. Would you like to enable it?")
            .setCancelable(false)
            .setPositiveButton("Goto Settings Page To Enable WIFI",
                    new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog, int id){
                            Intent callGPSSettingIntent = new Intent(
                                    Settings.ACTION_WIFI_SETTINGS);
                            startActivity(callGPSSettingIntent);
                        }
                    });
    alertDialogBuilder.setNegativeButton("Cancel",
            new DialogInterface.OnClickListener(){
                public void onClick(DialogInterface dialog, int id){
                    dialog.cancel();
                }
            });
    AlertDialog alert = alertDialogBuilder.create();
    alert.show();
}

}


0

これをJAVAに追加します。

public boolean CheckWifiConnection() {
        ConnectivityManager conMgr = (ConnectivityManager) getSystemService (Context.CONNECTIVITY_SERVICE);
        if (conMgr.getActiveNetworkInfo() != null
                && conMgr.getActiveNetworkInfo().isAvailable()
                && conMgr.getActiveNetworkInfo().isConnected()) {
            return true;
        } else {
            return false;
        }
    }

マニフェストファイルに次の権限を追加します。

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

0

古い質問のようなものですが、これは私が使用するものです。最小APIレベル21が必要ですが、非推奨のNetworkinfo APIも考慮に入れます。

boolean isWifiConn = false;
    ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        Network network = connMgr.getActiveNetwork();
        if (network == null) return false;
        NetworkCapabilities capabilities = connMgr.getNetworkCapabilities(network);
        if(capabilities != null && capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)){
            isWifiConn = true;
            Toast.makeText(context,"Wifi connected Api >= "+Build.VERSION_CODES.M,Toast.LENGTH_LONG).show();
        }else{
            Toast.makeText(context,"Wifi not connected Api >= "+Build.VERSION_CODES.M,Toast.LENGTH_LONG).show();
        }
    } else {
        for (Network network : connMgr.getAllNetworks()) {
            NetworkInfo networkInfo = connMgr.getNetworkInfo(network);
            if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI && networkInfo.isConnected()) {
                isWifiConn = true;
                Toast.makeText(context,"Wifi connected ",Toast.LENGTH_LONG).show();
                break;
            }else{
                Toast.makeText(context,"Wifi not connected ",Toast.LENGTH_LONG).show();
            }
        }
    }
    return isWifiConn;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.