当wifi" on"强制关闭我的应用程序但互联网不存在

时间:2016-01-18 11:01:39

标签: android android-wifi

我写这个代码用于检查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

2 个答案:

答案 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;
        }

    }

Credits

答案 1 :(得分:-1)

我的检查互联网的代码是真实的,并且工作得很好并且力量接近是因为另一个地方。当INTERNET不可用时,服务器给我一些字符串代码,如(