Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 判斷手機是否聯網時異常閃退

Android 判斷手機是否聯網時異常閃退

編輯:關於Android編程

寫了個函數來判斷手機是否聯網,但是發現,在手機聯網狀態下一切正常,而當手機斷網時則會發現閃退。

首先第一反應是會不會是沒在AndroidManifest.xml文件中設置聯網權限:

 

 

發現有這段語句,那麼是在哪裡出錯呢,我最初的代碼是這樣的:

 

 

    /**判斷網絡是否可用
     * @param context
     * @return
     */
    public static boolean isNetworkAvailable(Context context) {   
        ConnectivityManager cm = (ConnectivityManager) context   
                .getSystemService(Context.CONNECTIVITY_SERVICE);  
        return cm.getActiveNetworkInfo().isAvailable();
    }


 

經過調試,發現當我斷網狀態下,我在cm.getActiveNetworkInfo()中返回的NetworkInfo實例是個空指針,此時調用isAvailable()發生錯誤。所以要對NetworkInfo實例進行判斷。

 

 

    public static boolean isNetworkAvailable(Context context) {   
    	try {
			ConnectivityManager manger = (ConnectivityManager) context
	                .getSystemService(Context.CONNECTIVITY_SERVICE); 
	        NetworkInfo info = manger.getActiveNetworkInfo();
	        //return (info!=null && info.isConnected());//
	        if(info != null){
	        	return info.isConnected();
	        }else{
	        	return false;
	        }
		} catch (Exception e) {
	        return false;
		}
    }


 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved