Android 如何知道互联网连接是否存在?
要检测internet是否已连接,我使用以下代码:Android 如何知道互联网连接是否存在?,android,connection,Android,Connection,要检测internet是否已连接,我使用以下代码: public boolean netConnect(Context ctx) { ConnectivityManager cm; NetworkInfo info = null; try { cm = (Connectivity
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
,以便您以后可以更改内容(如果您以后想添加自定义对话框和菜单,也很有帮助,您只需将其添加到您的超类中即可)。您可以从这里获取参考: