开发者社区> 一叶飘舟> 正文

android 检测网络是否存在

简介:
+关注继续查看
在开发过程中,尤其是在开发网络应用的时候,时常要判断手机的联网状态,及时的给用户友善的提示。我们登录market,在网络断开的时候会及时的弹出警告窗口,避免用户盲目的等待。

这样的判断要贯穿在整个应用当中,在用户切换Activity,或者是后台service运行的时候都可能要用到。所以我们可以将判断的逻辑封装成一个方法,让其他Activity/service公用。


public static boolean isNetworkAvailable( Activity mActivity ) {
Context context = mActivity.getApplicationContext();
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
return false;
} else {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info.getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
/**
* 检测网络是否存在
*/
public static void HttpTest(final Activity mActivity)
{
if( !isNetworkAvailable( mActivity) ){
AlertDialog.Builder builders = new AlertDialog.Builder(mActivity);
builders.setTitle(“抱歉,暂时无法处理您的请求”);
LayoutInflater _inflater = LayoutInflater.from(mActivity);
View convertView = _inflater.inflate(R.layout.error,null);
builders.setView(convertView);
builders.setPositiveButton(“确定”, new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which)
{
mActivity.finish();
}
});
builders.show();
}
}

备注:别忘记在mainfest.xml中添加
android.permission.ACCESS_NETWORK_STATE
权限

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android O/P/Q 版本移植iperf网络性能测试工具
Android O/P/Q 版本移植iperf网络性能测试工具
61 0
Android网络与数据存储——网络编程数据处理(网络请求解析Json,解析xml)
Android网络与数据存储——网络编程数据处理(网络请求解析Json,解析xml)
81 0
Android Compose 新闻App(一)网络框架搭建
Android Compose 新闻App(一)网络框架搭建
299 0
Android 垃圾分类APP(六)网络处理
Android 垃圾分类APP(六)网络处理
127 0
Android网络 | Socket(Eclipse--Java)
Android网络 | Socket(Eclipse--Java)
85 0
Android网络 | URL和URLConnection详解及其实战案例
Android网络 | URL和URLConnection详解及其实战案例
71 0
Android自动化中动态设置网络代理
由于现在很多应用的页面数据都是AI算法推荐生成的,所以每次打开同一个页面数据都会不一样,因此在做客户端UI自动化的过程中都会采用Mock方案,利用MockServer来提供稳定的测试数据,其中MockServer的代理需要手动配置。 拿Android手机举例,过程大致是:进入设置->进入 WLAN ->找对应 wifi 连接->进入详情->找到代理->选择手动->输入主机名->输入端口号->最后保存,可以看到每次都是重复操作,特别当你的自动化设备很多以及MockServer服务不稳定导致IP经常变的情况下累加的时间成本是很高的,而且一不小心,还有可能写错
233 0
优秀Android程序员必知必会的网络基础,积累总结
优秀Android程序员必知必会的网络基础,积累总结
67 0
优秀Android程序员必知必会的网络基础,算法太TM重要了
优秀Android程序员必知必会的网络基础,算法太TM重要了
44 0
优秀Android程序员必知必会的网络基础,看看这篇文章吧!
优秀Android程序员必知必会的网络基础,看看这篇文章吧!
55 0
+关注
一叶飘舟
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
阿里云网络产品概览
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多
相关镜像