我写这个代码用于检查INTERNET并且它可以工作,但我有一个问题,当wifi打开但互联网不存在!在这种情况下,我的程序部队关闭了
private class NetCheck extends AsyncTask<String,String,Boolean>
{
@Override
protected Boolean doInBackground(String... args){
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnected()) {
try {
URL url = new URL("http://www.google.com");
HttpURLConnection urlc = (HttpURLConnection) url.openConnection();
urlc.setConnectTimeout(1000);
urlc.connect();
if (urlc.getResponseCode() == 200) {
return true;
}
} catch (MalformedURLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return false;
}
当互联网连接或断开其工作但是当wifi和互联网不存在时,它的工作不适用于申请人关闭!
@Override
protected void onPostExecute(Boolean th){
if(th == true){
getcountHA();
}
else{
ShowAlertDialog();
}
}
}
什么问题!!
我的logcat
答案 0 :(得分:1)
使用此方法检查:
public boolean isInternetAvailable() {
try {
InetAddress ipAddr = InetAddress.getByName("google.com"); //You can replace it with your name
if (ipAddr.equals("")) {
return false;
} else {
return true;
}
} catch (Exception e) {
return false;
}
}
答案 1 :(得分:-1)
我的检查互联网的代码是真实的,并且工作得很好并且力量接近是因为另一个地方。当INTERNET不可用时,服务器给我一些字符串代码,如(