Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.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
Android 安卓:当无法访问互联网但已连接到网络时广播或回调_Android_Broadcastreceiver_Android Internet - Fatal编程技术网

Android 安卓:当无法访问互联网但已连接到网络时广播或回调

Android 安卓:当无法访问互联网但已连接到网络时广播或回调,android,broadcastreceiver,android-internet,Android,Broadcastreceiver,Android Internet,我必须处理以下特殊情况: 我的手机和应用程序连接到Wifi路由器。 现在,到路由器的以太网电缆被取出,因此互联网连接丢失。 但手机仍然连接到这个Wifi路由器。 当出现上述情况时,我是否可以得到广播或回调?最简单、最简单的方法是:ping到任何像这里这样的服务器。我ping到谷歌,检查响应是否为空。。。当您对连接有疑问时,在android活动中调用此函数 public void GET(){ String result = ""; HttpResponse response;

我必须处理以下特殊情况:

我的手机和应用程序连接到Wifi路由器。 现在,到路由器的以太网电缆被取出,因此互联网连接丢失。 但手机仍然连接到这个Wifi路由器。
当出现上述情况时,我是否可以得到广播或回调?

最简单、最简单的方法是:ping到任何像这里这样的服务器。我ping到谷歌,检查响应是否为空。。。当您对连接有疑问时,在android活动中调用此函数

public void GET(){

    String result = "";
    HttpResponse response;
    HttpEntity entity;

    try {

        HttpPost httppost = new HttpPost("http://google.com");
        DefaultHttpClient httpclient = getHttpClientImpl();

        response = httpclient.execute(httppost);
        entity = response.getEntity();

        if (entity != null) {
            InputStream is = entity.getContent();
            if (is != null) {
                StringBuilder sb = new StringBuilder();
                String line;
                try {
                    BufferedReader reader = new BufferedReader(
                            new InputStreamReader(is, "UTF-8"), 8 * 1024);
                    while ((line = reader.readLine()) != null) {
                        sb.append(line);// .append("\n");
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    is.close();
                }
                result = sb.toString();
                if (responseXML.equals("")){

                //  Internet connectivity is lost.

                }else {

                //  Internet connectivity still here xnjoy.

                }

            }
            entity.consumeContent();
        }
        httpclient.getConnectionManager().shutdown();

    } catch (Exception e) {
        Log.d("InputStream", e.getLocalizedMessage());
    }

 }

你找到解决办法了吗?我也在寻找。