我意识到这个问题之前已经得到了回答,但找不到能解决我具体案例的答案。
我想创建一个名为“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 :(得分:0)
使用静态方法创建util类
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;
}
}
}
活动内部使用
boolean isNetworkAvailable = Utils.isNetworkAvailable(this);