Android 如何知道互联网连接是否存在?

Android 如何知道互联网连接是否存在?,android,connection,Android,Connection,要检测internet是否已连接,我使用以下代码: public boolean netConnect(Context ctx) { ConnectivityManager cm; NetworkInfo info = null; try { cm = (Connectivity

要检测internet是否已连接,我使用以下代码:

             public boolean netConnect(Context ctx)
            {

                ConnectivityManager cm;
                NetworkInfo info = null;
                try
                {
                    cm = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
                    info = cm.getActiveNetworkInfo();
                }
                catch (Exception e)
                {

                    e.printStackTrace();
                }
                if (info != null)
                {
                    return true;

                }
                else
                {
                    return false;
                }
            }
这是非常好的工作


但我想知道,当应用程序从服务器下载一些文件时(我的意思是在下载过程之间),互联网连接是否会断开?是否有任何方法可以检测到并显示互联网连接丢失或弱?

有特殊的系统操作,通知应用程序更改互联网访问状态。要获得它,您需要创建
广播接收器

有关更多信息,请参见问题。

您必须在所有
活动中使用
广播接收器。我最终为此写了一个超级类

现在,每当我编写一个
应用程序
时,我不会扩展
活动
,我总是扩展我创建的一个虚拟类,比如说
MyActivity
。这样,每当需求发生变化时,我只会改变
MyActivity
,我的所有类都会更新

对于您的特殊情况,我编写了一个超类,可在以下站点获得:
查看
网络
软件包中的
ConnectedActivity
类。当连接丢失时,它会显示一个对话框,当连接恢复时,它会将其取消。要使用它,只需在所需的
活动中扩展
ConnectedActivity
。要在整个应用程序中使用它,我建议您按照上述方式创建自己的超类,并扩展
ConnectedActivity
,以便您以后可以更改内容(如果您以后想添加自定义对话框和菜单,也很有帮助,您只需将其添加到您的超类中即可)。

您可以从这里获取参考: