1. 程式人生 > >Android 網路連線--Wifi/3G

Android 網路連線--Wifi/3G

 private void checkNetworkInfo()    {        ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);        //mobile 3G Data Network        State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();        txt3G.setText(mobile.toString()); //顯示3G網路連線狀態
        //wifi        State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();        txtWifi.setText(wifi.toString()); //顯示wifi連線狀態    }

注:

根據Android的安全機制,在使用ConnectivityManager時,必須在AndroidManifest.xml中新增<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 否則無法獲得系統的許可。

執行結果(關閉3G及wifi網路連線的狀態下)

呼叫Android手機的網路配置介面

使用過Android手機上的手機QQ的朋友,應該知道,當QQ啟動時,如果沒有有效的網路連線,QQ會提示轉入手機的網路配置介面。這是如何實現的呢。

private void checkNetworkInfo()    {        ConnectivityManager conMan = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);        //mobile 3G Data Network        State mobile = conMan.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();        txt3G.setText(mobile.toString());        //wifi
        State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();        txtWifi.setText(wifi.toString());                //如果3G網路和wifi網路都未連線,且不是處於正在連線狀態 則進入Network Setting介面 由使用者配置網路連線        if(mobile==State.CONNECTED||mobile==State.CONNECTING)            return;        if(wifi==State.CONNECTED||wifi==State.CONNECTING)            return;                        startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));//進入無線網路配置介面        //startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS)); //進入手機中的wifi網路設定介面            }

執行結果(關閉3G及wifi網路連線的狀態下),程式轉入無線網路配置介面