Android 網路連線--Wifi/3G
阿新 • • 發佈:2018-12-22
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網路連線的狀態下),程式轉入無線網路配置介面