从其他活动调用网络状态检查

时间:2012-09-20 21:21:08

标签: android class android-activity timeout network-state

我意识到这个问题之前已经得到了回答,但找不到能解决我具体案例的答案。

我想创建一个名为“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;
        }
    }

}

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

1 个答案:

答案 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);