2012-09-20 48 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

相关问题