Java 在android emulator中检查internet

Java 在android emulator中检查internet,java,android,connectivity,internet-connection,Java,Android,Connectivity,Internet Connection,我正在尝试在我的android应用程序中检查互联网连接 public static boolean isConnectingToInternet(Context _context) { ConnectivityManager connectivity = (ConnectivityManager) _context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity !

我正在尝试在我的android应用程序中检查互联网连接

    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) {
                    Log.d("Network",
                            "NETWORKnAME: " + info[i].getTypeName());
                    return true;
                }

    }
    return false;
}
公共静态布尔值连接到Internet(上下文\u上下文){
ConnectionManager连接=(ConnectionManager)\u上下文
.getSystemService(Context.CONNECTIVITY\u服务);
if(连接性!=null){
NetworkInfo[]info=connectivity.getAllNetworkInfo();
如果(信息!=null)
对于(int i=0;i
但问题是,当我试图在emulator中通过关闭主机PC internet连接来检查internet连接时,此函数仍然返回true,即internet可用,而我已关闭主机PC的internet连接
ConnectivityManager
确定是否连接到网络的类帮助,而不是关于internet连接的类帮助


我的问题是如何检查internet连接不可用?

尝试此方法以检测您的internet连接

public static boolean isInternetConnected(Context mContext) {

            try {
                ConnectivityManager connect = null;
                connect = (ConnectivityManager) mContext
                        .getSystemService(Context.CONNECTIVITY_SERVICE);

                if (connect != null) {
                    NetworkInfo resultMobile = connect
                            .getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

                    NetworkInfo resultWifi = connect
                            .getNetworkInfo(ConnectivityManager.TYPE_WIFI);

                    if ((resultMobile != null && resultMobile
                            .isConnectedOrConnecting())
                            || (resultWifi != null && resultWifi
                                    .isConnectedOrConnecting())) {
                        return true;
                    } else {
                        return false;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }

            return false;
        }
将以下权限添加到清单文件中

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />


关闭wifi和数据包后再试一次。希望这有帮助。

你能看到我的问题吗?我用
连接管理器检查连接不起作用这就是为什么我在这里问你的原因,你在我的问题中只检查了两种类型的连接我检查了所有类型的连接如果你使用mac,请按f8键打开在emulator上关闭internet并重试我正在使用windows和genymotion emulator