1. 程式人生 > >判斷一個wifi熱點是否連線成功

判斷一個wifi熱點是否連線成功

判斷Wifi是否連線成功,很簡單(需要用到廣播),

傳送一個廣播,filter.addAction("android.net.conn.CONNECTIVITY_CHANGE");

接收廣播

if(intent.getAction().equals("android.net.conn.CONNECTIVITY_CHANGE")){
                WifiSupport.getList(getContext(), list , -1);;//獲取資料
                adapter.notifyDataSetChanged();
                if(WifiSupport.isWifiContected
(getContext()) == 1){ Toast.makeText(getContext(), "連線成功" + netConnectingid, Toast.LENGTH_SHORT).show(); }else if(WifiSupport.isWifiContected(getContext()) == 2){ Toast.makeText(getContext(), "正在連線中" + netConnectingid, Toast.LENGTH_SHORT).show
(); }else{ Toast.makeText(getContext(), "網路變化了3", Toast.LENGTH_SHORT).show(); } }

下面是判斷是否連線

public static final int WIFI_CONNECTED = 0x01;
    public static final int WIFI_CONNECT_FAILED = 0x02;
    public static final int WIFI_CONNECTING = 0x03
; /** * 判斷wifi是否連線成功,不是network * * @param context * @return */ public static int isWifiContected(Context context) { ConnectivityManager connectivityManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo wifiNetworkInfo = connectivityManager .getNetworkInfo(ConnectivityManager.TYPE_WIFI); Log.v(TAG, "isConnectedOrConnecting = " + wifiNetworkInfo.isConnectedOrConnecting()); Log.d(TAG, "wifiNetworkInfo.getDetailedState() = " + wifiNetworkInfo.getDetailedState()); if (wifiNetworkInfo.getDetailedState() == NetworkInfo.DetailedState.OBTAINING_IPADDR || wifiNetworkInfo.getDetailedState() == NetworkInfo.DetailedState.CONNECTING) { return WIFI_CONNECTING; } else if (wifiNetworkInfo.getDetailedState() == NetworkInfo.DetailedState.CONNECTED) { return WIFI_CONNECTED; } else { Log.d(TAG, "getDetailedState() == " + wifiNetworkInfo.getDetailedState()); return WIFI_CONNECT_FAILED; } }

至此大功告成,文章如有錯誤 歡迎各位指點