首先,要想獲得當前android設備是否處於聯網狀態,那麼android本身給我們提供了一個服務
privateConnectivityManager connectivityManager;//用於判斷是否有網絡 connectivityManager =(ConnectivityManager)getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);//獲取當前網絡的連接服務 NetworkInfo info =connectivityManager.getActiveNetworkInfo(); //獲取活動的網絡連接信息
首先我們得先拿到android的網絡服務,需要往配置文件裏面加入一個權限
<!-- 獲取用戶的手機是否聯網的信息 --> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
然後我們通過Context.getSystemService(Context.CONNECTIVITY_SERVICE)拿到系統的服務
然後我們用android提供給我們的這個NetworkInfo類去盛放系統返回給我們網絡服務信息
if (info == null) { //當前沒有已激活的網絡連接(表示用戶關閉了數據流量服務,也沒有開啓WiFi等別的數據服務) Toast.makeText(getActivity(), "檢查網絡連接是否打開", Toast.LENGTH_SHORT).show(); } else { //當前有已激活的網絡連接 }
當然,我們也可以用這局代碼來判斷我們的網絡連接是否可用
// 來返回是否有效,如果爲True則表示當前Android手機已經聯網,可能是WiFi或GPRS、HSDPA等等。具體的可以通過ConnectivityManager類的getActiveNetworkInfo() 方法判斷詳細的接入方式 connectivityManager.getActiveNetworkInfo().isAvailable();
當然,開發完APP也是需要進行全方位的檢測:www.ineice.com