超實(shí)用的android網(wǎng)絡(luò)工具類
在實(shí)際開發(fā)中,往往一些工具類對(duì)我們的幫助是非常大的,借此,我在前人各位前輩的基礎(chǔ)上,整理了一個(gè)網(wǎng)絡(luò)的工具類,特此獻(xiàn)上:
/** * @類名:NetUtil * @類描述:網(wǎng)絡(luò)判斷處理類 * @創(chuàng)建時(shí)間:2015年2月12日-上午9:34:32 * @修改人: * @修改時(shí)間: * @修改備注: * @版本: */ public class NetUtil { /* 網(wǎng)絡(luò)狀態(tài) */ public static boolean isNet = true; public static enum netType { wifi, CMNET, CMWAP, noneNet } /** * @方法說明:判斷WIFI網(wǎng)絡(luò)是否可用 * @方法名稱: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)絡(luò)是否可用 * @方法名稱: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; } /** * @方法說明:獲取當(dāng)前網(wǎng)絡(luò)連接的類型信息 * @方法名稱: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; } /** * @方法說明:獲取當(dāng)前的網(wǎng)絡(luò)狀態(tài) -1:沒有網(wǎng)絡(luò) 1:WIFI網(wǎng)絡(luò)2:wap 網(wǎng)絡(luò)3:net網(wǎng)絡(luò) * @方法名稱: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)絡(luò)連接 * @方法名稱: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)絡(luò)是否可用 * @方法名稱: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; } /** * @方法說明:判斷是否是手機(jī)網(wǎng)絡(luò) * @方法名稱: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; } }
好的!希望對(duì)大家有幫助!
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android系統(tǒng)添加Linux驅(qū)動(dòng)
- Android實(shí)現(xiàn)EditText添加下劃線
- Android添加用戶組及自定義App權(quán)限的方法
- Android中多行文本末尾添加圖片排版問題的解決方法
- Android添加指紋解鎖功能的實(shí)現(xiàn)代碼
- Android實(shí)現(xiàn)添加商品到購(gòu)物車動(dòng)畫效果
- Android GridView仿微信添加多圖效果
- Android中recyclerView底部添加透明漸變效果
- Android GridView添加頭部問題的解決
- 詳解如何在Android Studio中添加RecyclerView-v7支持包
- Android百度地圖添加Marker失真問題的解決方案
- Android手機(jī)屏幕同步工具asm.jar
- Android系統(tǒng)工具類詳解
- Android中APK簽名工具之jarsigner和apksigner詳解
- Android編程實(shí)現(xiàn)將時(shí)間轉(zhuǎn)化成幾分鐘前、幾天前等形式的工具類
- Android系統(tǒng)添加自己寫的工具
相關(guān)文章
android中colors.xml顏色設(shè)置資源文件的方法
這篇文章主要介紹了android中colors.xml顏色設(shè)置資源文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Android ToolBar整合實(shí)例使用方法詳解
這篇文章主要為大家詳細(xì)介紹了Android ToolBar整合實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02Android多點(diǎn)觸控實(shí)現(xiàn)圖片自由縮放
這篇文章主要為大家詳細(xì)介紹了Android多點(diǎn)觸控實(shí)現(xiàn)圖片自由縮放,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12實(shí)例講解Android Fragment的兩種使用方法
今天小編就為大家分享一篇關(guān)于實(shí)例講解Android Fragment的兩種使用方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03Android Studio 多層級(jí) Module 對(duì) aar 引用問題解決方法
這篇文章主要介紹了Android Studio 多層級(jí) Module 對(duì) aar 引用問題的解決方法,需要的朋友參考下2017-12-12android studio按鈕監(jiān)聽的5種方法實(shí)例詳解
這篇文章主要介紹了android studio按鈕監(jiān)聽的5種方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Android編程實(shí)現(xiàn)canvas繪制柱狀統(tǒng)計(jì)圖功能【自動(dòng)計(jì)算寬高及分度值、可左右滑動(dòng)】
這篇文章主要介紹了Android編程實(shí)現(xiàn)canvas繪制柱狀統(tǒng)計(jì)圖功能,具備自動(dòng)計(jì)算寬高及分度值及左右滑動(dòng)的功能,涉及Android canvas繪圖操作相關(guān)技巧,需要的朋友可以參考下2017-01-01講解Android中的Widget及AppWidget小工具的創(chuàng)建實(shí)例
這篇文章主要介紹了講解Android中的Widget及Widget的創(chuàng)建實(shí)例,文中的例子展示了通過RemoteView來溝通AppWidgetProvider與AppWidgetHostView的方法,需要的朋友可以參考下2016-03-03OnSharedPreferenceChangeListener詳解及出現(xiàn)不觸發(fā)解決辦法
本文主要介紹 Android OnSharedPreferenceChangeListener的知識(shí),在Android應(yīng)用開發(fā)過程中會(huì)遇到監(jiān)聽器不觸發(fā)事件問題,這里介紹了相應(yīng)的解決辦法2016-08-08