2012-09-20 71 views
0

我意識到這個問題已經回答之前,但無法找到一個答案,處理我的具體情況。調用網絡從其他活動的狀態檢查

我想創建一個名爲「InternetConnectionChecks」的類,它將處理檢查網絡狀態和http超時。我將在應用程序中調用兩次方法(一次在開始時從服務器獲取數據,一次在結束時將用戶訂單發送到服務器)。

對於好的表單,我想將所有這些方法放在一個類中,而不是在代碼中的不同位置複製/粘貼。

要檢查網絡狀態,我正在使用ConnectivityManager;事情是,getSystemService需要一個擴展Activity的類。

package arbuckle.app; 

import android.app.Activity; 
import android.app.Service; 
import android.content.Context; 
import android.net.ConnectivityManager; 
import android.net.NetworkInfo; 

public class InternetConnectionChecks extends Activity { 

    public boolean isNetworkAvailable(){ 
     ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); 
     NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); 
     if ((activeNetworkInfo != null)&&(activeNetworkInfo.isConnected())){ 
      return true; 
     }else{ 
      return false; 
     } 
    } 

} 

問題:我需要在非活動類中使用此代碼;實際上我想在不是活動的單獨的類中設置此方法。我怎麼做?

回答

0

用靜態方法創建的util類的內部活動

boolean isNetworkAvailable = Utils.isNetworkAvailable(this); 
+0

得到它

public class Utils{ public static boolean isNetworkAvailable(Context context){ ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); if ((activeNetworkInfo != null)&&(activeNetworkInfo.isConnected())){ return true; }else{ return false; } } 

}

用法!我的差距在於理解如何在活動中提及這個班級。 – Laurent

相關問題