Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android连接检测在Android Studio 2.2.1中不起作用。出了什么问题?_Android_Android Studio_Internet Connection_Android Internet - Fatal编程技术网

Android连接检测在Android Studio 2.2.1中不起作用。出了什么问题?

Android连接检测在Android Studio 2.2.1中不起作用。出了什么问题?,android,android-studio,internet-connection,android-internet,Android,Android Studio,Internet Connection,Android Internet,早些时候,我用来验证Internet连接并相应地显示数据。若它连接到Internet,我通常从服务器加载数据,若并没有Internet连接,我通常加载脱机数据。但是从Android Studio 2.2.1来看,这似乎不起作用。我使用的代码是: import android.app.Service; import android.content.Context; import android.net.ConnectivityManager; import android.net.Netw

早些时候,我用来验证Internet连接并相应地显示数据。若它连接到Internet,我通常从服务器加载数据,若并没有Internet连接,我通常加载脱机数据。但是从Android Studio 2.2.1来看,这似乎不起作用。我使用的代码是:

 import android.app.Service;
 import android.content.Context;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;

public class ConnectionDetector {

Context context;

public ConnectionDetector(Context context) {
    this.context = context;
}

     public boolean isConnected(){
    ConnectivityManager connectivity = (ConnectivityManager)      context.getSystemService(Service.CONNECTIVITY_SERVICE);

    if(connectivity!=null){
        NetworkInfo info = connectivity.getActiveNetworkInfo();

        if(info!=null){
            if(info.getState()== NetworkInfo.State.CONNECTED){
                return  true;
            }
        }

    }
    return false;
}
我将创建此类的新对象:

   cd = new ConnectionDetector(this);
然后使用:

  if(cd.isConnected()){
  -----------
  ---------
  }else {
  ------
  ---
  }
但这在2.2.1中不起作用 要使其在2.2.1中工作,需要进行哪些更改?
我不是编程专家

无论设备是否连接,请使用此选项

 public class ConnectivityDetector {
    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;
    }}

希望您在清单文件中添加了权限。是的,添加了清单。我认为2.2.1版本中有些东西。现在Android Studio发布了新的更新版本2.2.2。我想他们现在修好了。
if (ConnectivityDetector.isConnectingToInternet(ChangePasswordActivity.this)) {
                //Your Code when connected.
            } else {
                Toast.makeText(MainActivity.this, "Please check your Internet connection.", Toast.LENGTH_SHORT).show();
            }