Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.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
Java W/系统:资源调用结束失败。使用HttpsURLConnection时-Android_Java_Android_Httpsurlconnection - Fatal编程技术网

Java W/系统:资源调用结束失败。使用HttpsURLConnection时-Android

Java W/系统:资源调用结束失败。使用HttpsURLConnection时-Android,java,android,httpsurlconnection,Java,Android,Httpsurlconnection,在logcat中,我得到一个警告: W/系统:资源调用end失败。 我100%肯定这段代码会发出警告,因为当我取出它时,它会停止。 我似乎无法修复它,因此它不会显示警告 代码的目的是检查是否有internet连接 它在不同的线程上。声明如下: public class ConnectWifiThread extends Thread { public static boolean isInternetAvailable(Context context) { 代码如下: try { UR

在logcat中,我得到一个警告: W/系统:资源调用end失败。

我100%肯定这段代码会发出警告,因为当我取出它时,它会停止。 我似乎无法修复它,因此它不会显示警告

代码的目的是检查是否有internet连接

它在不同的线程上。声明如下:

public class ConnectWifiThread extends Thread {
public static boolean isInternetAvailable(Context context) {
代码如下:

try {
    URL url = new URL("https://www.google.com/");
    HttpsURLConnection https = (HttpsURLConnection) url.openConnection();

    https.setRequestProperty("User-Agent", "test");
    https.setRequestProperty("Connection", "close");
    https.setConnectTimeout(2000); // mTimeout is in seconds
    https.connect();

    int tempResponse = https.getResponseCode();

    if (tempResponse == 200) {
        https.disconnect();
        Thread.sleep(50);
        https=null;
        url=null;

        Thread.sleep(50);
        Log.d("Has", "internet");
        return true;
    } else {
        https.disconnect();
        Thread.sleep(50);
        https=null;
        url=null;
        Thread.sleep(50);
        Log.d("NO", "internet");
        return false;
    }
} catch (MalformedURLException e) {
    e.printStackTrace();
    return false;
} catch (IOException e) {
    e.printStackTrace();
    return false;
}
catch (Exception e) {
    Log.d("Error checking internet", e.getMessage());
    return false;
}

谢谢

当您使用URLConnection时,默认情况下,它会生成一个输入流供您读取响应。您可以通过调用连接上的
getInputStream()
来实现这一点,然后读取流以完成并关闭它


如果您不需要数据,也可以调用
setDoInput(false)
来省去执行上述操作的麻烦。

当您使用URLConnection时,默认情况下,它会生成一个输入流供您读取响应。您可以通过调用连接上的
getInputStream()
来实现这一点,然后读取流以完成并关闭它

如果您不需要数据,也可以调用
setDoInput(false)
,省去执行上述操作的麻烦