java获取网络状态_获取手机网络状态的代码

本文介绍了如何使用Java在Android中获取网络连接状态,包括WiFi和移动数据。通过ConnectivityManager获取NetworkInfo,并判断NetworkInfo的isAvailable()和getState(),以确保更准确地获取网络连接详情。
摘要由CSDN通过智能技术生成

ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService("connectivity");

NetworkInfo mMobileNetworkInfo = connectivityManager.getNetworkInfo(0);

if(mMobileNetworkInfo != null)

return mMobileNetworkInfo.isAvailable();

ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService("connectivity");

NetworkInfo mWiFiNetworkInfo = connectivityManager.getNetworkInfo(1);

if(mWiFiNetworkInfo != null)

return mWiFiNetworkInfo.isAvailable();

这个正常情况下没什么问题,但发现在有些机器上会不那么准确在3G的环境下wifi状态还是可用

所以建议通过获取网络State状态来判断,相对比较稳妥准确一些

ConnectivityManager connectivityManager = (ConnectivityManager)this.getSystemService("connectivity");

NetworkInfo mWiFiNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

NetworkInfo mPhoneNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

mWiFiNetworkInfo.getState();

mPhoneNetworkInfo.getState()

//state 状态

//State.CONNECTED;State.DISCONNECTED;State.CONNECTING;State.UNKNOWN;State.DISCONNE//CTING;State.SUSPENDED

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2014-03-27 16:45

浏览 884

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值