这篇文章主要介绍了android网络工具类的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
在实际开发中,往往一些工具类对我们的帮助是非常大的,借此,我在前人各位前辈的基础上,整理了一个网络的工具类,特此献上:
/**
* @类名:NetUtil
* @类描述:网络判断处理类
* @创建时间:2015年2月12日-上午9:34:32
* @修改人:
* @修改时间:
* @修改备注:
* @版本:
*/
public class NetUtil {
/* 网络状态 */
public static boolean isNet = true;
public static enum netType
{
wifi, CMNET, CMWAP, noneNet
}
/**
* @方法说明:判断WIFI网络是否可用
* @方法名称:isWifiConnected
* @param context
* @return
* @返回值:boolean
*/
public static boolean isWifiConnected(Context context)
{
if (context != null)
{
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mWiFiNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mWiFiNetworkInfo != null)
{
return mWiFiNetworkInfo.isAvailable();
}
}
return false;
}
/**
* @方法说明:判断MOBILE网络是否可用
* @方法名称:isMobileConnected
* @param context
* @return
* @返回值:boolean
*/
public static boolean isMobileConnected(Context context)
{
if (context != null)
{
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mMobileNetworkInfo = mConnectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mMobileNetworkInfo != null)
{
return mMobileNetworkInfo.isAvailable();
}
}
return false;
}
/**
* @方法说明:获取当前网络连接的类型信息
* @方法名称:getConnectedType
* @param context
* @return
* @返回值:int
*/
public static int getConnectedType(Context context)
{
if (context != null)
{
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager
.getActiveNetworkInfo();
if (mNetworkInfo != null && mNetworkInfo.isAvailable())
{
return mNetworkInfo.getType();
}
}
return -1;
}
/**
* @方法说明:获取当前的网络状态 -1:没有网络 1:WIFI网络2:wap 网络3:net网络
* @方法名称:getAPNType
* @param context
* @return
* @返回值:netType
*/
public static netType getAPNType(Context context)
{
ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
if (networkInfo == null)
{
return netType.noneNet;
}
int nType = networkInfo.getType();
if (nType == ConnectivityManager.TYPE_MOBILE)
{
if (networkInfo.getExtraInfo().toLowerCase().equals("cmnet"))
{
return netType.CMNET;
}
else
{
return netType.CMWAP;
}
} else if (nType == ConnectivityManager.TYPE_WIFI)
{
return netType.wifi;
}
return netType.noneNet;
}
/**
* @方法说明:判断是否有网络连接
* @方法名称:isNetworkConnected
* @param context
* @return
* @返回值:boolean
*/
public static boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager
.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}
/**
* @方法说明:网络是否可用
* @方法名称:isNetworkAvailable
* @param context
* @return
* @返回值:boolean
*/
public static boolean isNetworkAvailable(Context context)
{
ConnectivityManager mgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info = mgr.getAllNetworkInfo();
if (info != null)
{
for (int i = 0; i < info.length; i++)
{
if (info[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
return false;
}
/**
* @方法说明:判断是否是手机网络
* @方法名称:is3GNet
* @param context
* @return
* @返回值:boolean
*/
public static boolean is3GNet(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();
if (activeNetInfo != null
&& activeNetInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
return true;
}
return false;
}
}
感谢你能够认真阅读完这篇文章,希望小编分享的“android网络工具类的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。