超實用的android網(wǎng)絡工具類
更新時間:2018年04月13日 14:14:58 作者:chiyan171
這篇文章主要為大家詳細介紹了超實用的android網(wǎng)絡工具類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
在實際開發(fā)中,往往一些工具類對我們的幫助是非常大的,借此,我在前人各位前輩的基礎上,整理了一個網(wǎng)絡的工具類,特此獻上:
/**
* @類名:NetUtil
* @類描述:網(wǎng)絡判斷處理類
* @創(chuàng)建時間:2015年2月12日-上午9:34:32
* @修改人:
* @修改時間:
* @修改備注:
* @版本:
*/
public class NetUtil {
/* 網(wǎng)絡狀態(tài) */
public static boolean isNet = true;
public static enum netType
{
wifi, CMNET, CMWAP, noneNet
}
/**
* @方法說明:判斷WIFI網(wǎng)絡是否可用
* @方法名稱: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網(wǎng)絡是否可用
* @方法名稱: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;
}
/**
* @方法說明:獲取當前網(wǎng)絡連接的類型信息
* @方法名稱: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;
}
/**
* @方法說明:獲取當前的網(wǎng)絡狀態(tài) -1:沒有網(wǎng)絡 1:WIFI網(wǎng)絡2:wap 網(wǎng)絡3:net網(wǎng)絡
* @方法名稱: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;
}
/**
* @方法說明:判斷是否有網(wǎng)絡連接
* @方法名稱: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;
}
/**
* @方法說明:網(wǎng)絡是否可用
* @方法名稱: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;
}
/**
* @方法說明:判斷是否是手機網(wǎng)絡
* @方法名稱: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系統(tǒng)添加Linux驅動
- Android實現(xiàn)EditText添加下劃線
- Android添加用戶組及自定義App權限的方法
- Android中多行文本末尾添加圖片排版問題的解決方法
- Android添加指紋解鎖功能的實現(xiàn)代碼
- Android實現(xiàn)添加商品到購物車動畫效果
- Android GridView仿微信添加多圖效果
- Android中recyclerView底部添加透明漸變效果
- Android GridView添加頭部問題的解決
- 詳解如何在Android Studio中添加RecyclerView-v7支持包
- Android百度地圖添加Marker失真問題的解決方案
- Android手機屏幕同步工具asm.jar
- Android系統(tǒng)工具類詳解
- Android中APK簽名工具之jarsigner和apksigner詳解
- Android編程實現(xiàn)將時間轉化成幾分鐘前、幾天前等形式的工具類
- Android系統(tǒng)添加自己寫的工具
Android編程解析XML文件的方法詳解【基于XmlPullParser】
這篇文章主要介紹了Android編程解析XML文件的方法,結合實例形式分析了Android基于XmlPullParser解析xml文件的相關操作技巧與注意事項,需要的朋友可以參考下
2017-07-07
Android開發(fā)中LayoutInflater用法詳解
這篇文章主要介紹了Android開發(fā)中LayoutInflater用法,結合實例形式分析了LayoutInflater類的功能、作用、使用方法及相關注意事項,需要的朋友可以參考下
2016-08-08
Android App開發(fā)中ViewPager組件的入門使用教程
這篇文章主要介紹了Android App開發(fā)中ViewPager組件的入門使用教程,ViewPager主要用來實現(xiàn)通過滑動來切換頁面的效果,需要的朋友可以參考下
2016-03-03 
