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;
        }
    }

}

问题:我需要在非活动的类中使用此代码;事实上,我想在一个单独的类中设置这个方法,它不是一个活动。我怎么做?

4

1 回答 1

1

使用静态方法创建 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);
于 2012-09-20T21:36:42.753 回答