android NetWorkHelper 网络工具类
16lz
2021-01-23
[html] view plain copy print ?
转自http://blog.csdn.net/caiwenfeng_for_23/article/details/38100711
- importandroid.content.Context;
- importandroid.net.ConnectivityManager;
- importandroid.net.NetworkInfo;
- importandroid.net.Uri;
- importandroid.net.NetworkInfo.State;
- importandroid.telephony.TelephonyManager;
- importandroid.util.Log;
- publicclassNetWorkHelper{
- publicstaticfinalintNETWORN_NONE=0;
- publicstaticfinalintNETWORN_WIFI=1;
- publicstaticfinalintNETWORN_MOBILE=2;
- privatestaticStringLOG_TAG="NetWorkHelper";
- publicstaticUriuri=Uri.parse("content://telephony/carriers");
- /**
- *判断是否有网络
- */
- publicstaticbooleanisNetworkAvailable(Contextcontext){
- ConnectivityManagerconnectivity=(ConnectivityManager)context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- if(connectivity==null){
- Log.w(LOG_TAG,"couldn'tgetconnectivitymanager");
- }else{
- NetworkInfo[]info=connectivity.getAllNetworkInfo();
- if(info!=null){
- for(inti=0;i<info.length;i++){
- if(info[i].isAvailable()){
- Log.d(LOG_TAG,"networkisavailable");
- returntrue;
- }
- }
- }
- }
- Log.d(LOG_TAG,"networkisnotavailable");
- returnfalse;
- }
- /**
- *检查网络状态
- *@paramcontext
- *@return
- */
- publicstaticbooleancheckNetState(Contextcontext){
- booleannetstate=false;
- ConnectivityManagerconnectivity=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- if(connectivity!=null)
- {
- NetworkInfo[]info=connectivity.getAllNetworkInfo();
- if(info!=null){
- for(inti=0;i<info.length;i++)
- {
- if(info[i].getState()==NetworkInfo.State.CONNECTED)
- {
- netstate=true;
- break;
- }
- }
- }
- }
- returnnetstate;
- }
- /**
- *判断网络是否为漫游
- */
- publicstaticbooleanisNetworkRoaming(Contextcontext){
- ConnectivityManagerconnectivity=(ConnectivityManager)context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- if(connectivity==null){
- Log.w(LOG_TAG,"couldn'tgetconnectivitymanager");
- }else{
- NetworkInfoinfo=connectivity.getActiveNetworkInfo();
- if(info!=null
- &&info.getType()==ConnectivityManager.TYPE_MOBILE){
- TelephonyManagertm=(TelephonyManager)context
- .getSystemService(Context.TELEPHONY_SERVICE);
- if(tm!=null&&tm.isNetworkRoaming()){
- Log.d(LOG_TAG,"networkisroaming");
- returntrue;
- }else{
- Log.d(LOG_TAG,"networkisnotroaming");
- }
- }else{
- Log.d(LOG_TAG,"notusingmobilenetwork");
- }
- }
- returnfalse;
- }
- /**
- *判断MOBILE网络是否可用
- *
- *@paramcontext
- *@return
- *@throwsException
- */
- publicstaticbooleanisMobileDataEnable(Contextcontext){
- ConnectivityManagerconnectivityManager=(ConnectivityManager)context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- booleanisMobileDataEnable=false;
- isMobileDataEnable=connectivityManager.getNetworkInfo(
- ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
- returnisMobileDataEnable;
- }
- /**
- *判断wifi是否可用
- *@paramcontext
- *@return
- *@throwsException
- */
- publicstaticbooleanisWifiDataEnable(Contextcontext){
- ConnectivityManagerconnectivityManager=(ConnectivityManager)context
- .getSystemService(Context.CONNECTIVITY_SERVICE);
- booleanisWifiDataEnable=false;
- isWifiDataEnable=connectivityManager.getNetworkInfo(
- ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
- returnisWifiDataEnable;
- }
- publicstaticintgetNetworkState(Contextcontext){
- ConnectivityManagerconnManager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
- //Wifi
- Statestate=connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
- if(state==State.CONNECTED||state==State.CONNECTING){
- returnNETWORN_WIFI;
- }
- //3G
- state=connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
- if(state==State.CONNECTED||state==State.CONNECTING){
- returnNETWORN_MOBILE;
- }
- returnNETWORN_NONE;
- }
- }
转自http://blog.csdn.net/caiwenfeng_for_23/article/details/38100711
更多相关文章
- android取得当前网络连接状态
- 【Android】网络状态
- android判断是否连接网络
- Android 网络操作(上传下载等)
- 【android】监听网络变化连续多个广播的问题解决
- Android开发学习笔记整理(16)-网络请求
- android 网络检测
- android WIFi 连接状态之DetailedState