android獲取手機的網絡狀態 – Android移動開發技術文章_手機開發 Android移動開發教學課程

 

   很多朋友在android開發中,都會遇到手機網絡類型判斷,因為就目前的android平臺手機來說:可能會存在4中狀態

      1.無網絡(這種狀態可能是因為手機停機,網絡沒有開啟,信號不好等原因)

      2.使用WIFI上網

      3.CMWAP(中國移動代理)

      4.CMNET上網

 這四種狀態,如果沒有網絡,肯定是無法請求Internet瞭,如果是wap就需要為手機添加中國移動代理,關於為手機添加中國移動的代理,請到

https://www.aiwalls.com/kf/201111/112100.html 這裡寫有關於添加中國移動代理的例子!

下面是網絡判斷的方法:

view plain

/**

     * @author sky

     * Email vipa1888@163.com

     * QQ:840950105

     * 獲取當前的網絡狀態  -1:沒有網絡  1:WIFI網絡2:wap網絡3:net網絡

     * @param context

     * @return

     */ 

    public static int getAPNType(Context context){ 

        int netType = -1;  

        ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 

        NetworkInfo networkInfo = connMgr.getActiveNetworkInfo(); 

         

        if(networkInfo==null){ 

            return netType; 

        } 

        int nType = networkInfo.getType(); 

        if(nType==ConnectivityManager.TYPE_MOBILE){ 

            Log.e("networkInfo.getExtraInfo()", "networkInfo.getExtraInfo() is "+networkInfo.getExtraInfo()); 

            if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")){ 

                netType = CMNET; 

            } 

            else{ 

                netType = CMWAP; 

            } 

        } 

        else if(nType==ConnectivityManager.TYPE_WIFI){ 

            netType = WIFI; 

        } 

        return netType; 

    } 

 

因為獲取的是服務對象,所以這個網絡狀態都是時時刷新的,所以我們隻需要得到網絡狀態就可以瞭!

學習在於積累,希望和大傢一起分享

發佈留言