android中的连接管理器

android中的连接管理器,android,networking,connectivity,Android,Networking,Connectivity,问候 我有一个问题,我使用了一个Connectivity manager类来获取网络状态。该类在90%的android设备中正常工作,但在某些设备中不工作 看看我的代码。贴在下面- public class Connectivity { public static boolean isConnected(Context context){ boolean found=false; ConnectivityManager manager=(Conne

问候

我有一个问题,我使用了一个Connectivity manager类来获取网络状态。该类在90%的android设备中正常工作,但在某些设备中不工作

看看我的代码。贴在下面-

    public class Connectivity {
    public static boolean isConnected(Context context){
        boolean found=false;
        ConnectivityManager manager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo network=manager.getActiveNetworkInfo();
        if (network!=null && network.isAvailable() && network.isConnected())
            found=true;
        return found;
    }
}
公共静态布尔值连接到Internet(上下文){
ConnectivityManager connectivity=(ConnectivityManager)context.getSystemService(context.connectivity\u SERVICE);
if(连接性!=null){
NetworkInfo[]info=connectivity.getAllNetworkInfo();
如果(信息!=null)
对于(int i=0;i

代码中的一个小改动肯定会对您有所帮助…

您确定上述代码在所有设备上都能工作(sdk>=16)。因为我没有任何特定的移动和场景,我的代码无法工作。这发生在一些客户端设备上。
public static boolean isConnectingToInternet(Context context) {
    ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    if (connectivity != null) {
        NetworkInfo[] info = connectivity.getAllNetworkInfo();
        if (info != null)
            for (int i = 0; i < info.length; i++)
                if (info[i].getState() == NetworkInfo.State.CONNECTED) {
                    return true;
                }
    }
    return false;
}
public static boolean isDeviceConnected(Context context) {
        ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo netInfo = cm.getActiveNetworkInfo();
        if (netInfo != null && netInfo.isConnectedOrConnecting()) {
            return true;
        }
        return false;
    }