现在在开发中需要判断网络连接的类型,是用wifi还是流量,这就要用到ConnectivityManager来进行操作,
直接上代码。
/**
* 检查当前网络是否可用
*
* @return
*/
public boolean isNetworkAvailable(Activity activity)
{
Context context = activity.getApplicationContext();
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager == null)
{
return false;
}
else
{
// 获取NetworkInfo对象
NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();
if (networkInfo != null && networkInfo.length > 0)
{
for (int i = 0; i < networkInfo.length; i++)
{
System.out.println(i + "===状态===" + networkInfo[i].getState());
System.out.println(i + "===类型===" + networkInfo[i].getTypeName());
// 判断当前网络状态是否为连接状态
if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)
{
return true;
}
}
}
}
return false;
}
用上面的代码就可以判断出网络的类型,从而进行需要的操作。
本文提供了一个实用的方法来检测Android设备的网络连接状态,并能够区分连接类型是Wi-Fi还是移动数据。通过使用ConnectivityManager类,可以轻松实现网络可用性的检查。
553

被折叠的 条评论
为什么被折叠?



