Java W/系统:资源调用结束失败。使用HttpsURLConnection时-Android
在logcat中,我得到一个警告: W/系统:资源调用end失败。 我100%肯定这段代码会发出警告,因为当我取出它时,它会停止。 我似乎无法修复它,因此它不会显示警告 代码的目的是检查是否有internet连接 它在不同的线程上。声明如下: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
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)
,省去执行上述操作的麻烦