Android 无法检查来自片段的连接

Android 无法检查来自片段的连接,android,android-fragments,Android,Android Fragments,我有一个片段,它有一个回收器视图,可以滑动刷新。刷新时,我接触服务器并从更新回收器视图的数据库中提取列表。所有这些都很好。我的问题是,我有一种方法可以检查我的活动中是否有互联网: public boolean isConnected(){ ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);

我有一个片段,它有一个
回收器视图
,可以滑动刷新。刷新时,我接触服务器并从更新
回收器视图的数据库中提取列表。所有这些都很好。我的问题是,我有一种方法可以检查我的活动中是否有互联网:

public boolean isConnected(){
    ConnectivityManager connectivityManager = (ConnectivityManager)
            getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    return networkInfo != null && networkInfo.isConnected();
}

这在我的活动中非常有效,但是当我尝试在片段中调用它时,
“getSystemService”
会创建一个错误。我尝试过使用片段到活动的侦听器,或者只是将此方法放在片段中,但都不起作用。是否可以检查片段内的internet状态,或者这是仅可通过活动执行的操作?

如果要检查片段的连接,应获取上下文,在您的情况下,活动:

public boolean isConnected(){
    ConnectivityManager connectivityManager = (ConnectivityManager)
            getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    return networkInfo != null && networkInfo.isConnected();
}
或者使用静态方法

public class Utils{
    public static boolean isConnected(Context context){
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        return networkInfo != null && networkInfo.isConnected();
    }
}
从片段中用

Utils.isConnected(getActivity());

如果要检查片段的连接性,应获取上下文,在您的情况下,活动:

public boolean isConnected(){
    ConnectivityManager connectivityManager = (ConnectivityManager)
            getActivity().getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
    return networkInfo != null && networkInfo.isConnected();
}
或者使用静态方法

public class Utils{
    public static boolean isConnected(Context context){
        ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
        return networkInfo != null && networkInfo.isConnected();
    }
}
从片段中用

Utils.isConnected(getActivity());

logcat?您如何调用该方法的代码?可以在任何有上下文的地方进行检查。请执行错误堆栈跟踪?logcat?您如何调用该方法的代码?可以在任何有上下文的地方进行检查。请跟踪错误堆栈?或者他可以将方法设置为静态并将其添加到某个Util类,或者他可以将方法设置为静态并将其添加到某个Util类