网络工具类
来源:互联网 发布:淘宝被恶意投诉售假 编辑:程序博客网 时间:2024/06/05 14:25
import android.app.Activity;import android.app.AlertDialog;import android.content.Context;import android.content.DialogInterface;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.provider.Settings;import android.util.Log;/** * Created by chao0 on 2016/3/2. *//** * 基于静态内部类实现的单例,保证线程安全的网络信息工具类 <per> 使用该工具类之前,记得在AndroidManifest.xml添加权限许可 <xmp> * <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> * </xmp> </per> * 安卓判断网络状态,只需要在相应的Activity的相关方法(onCreat/onResum)调用一行代码即可 * NetWorkUtils.getInstance(getActivity()).validateNetWork(); */public class ToolNetWork { /** 网络连接方式 CMWAP*/ private static final String NETWORK_CMWAP="CMWAP"; /** 网络连接方式 CMNET*/ private static final String NETWORK_CMNET="CMNET"; /** 网络连接方式 WIFI*/ private static final String NETWORK_WIFI="WIFI"; private static final String TAG ="ToolNetWork" ; private static NetworkInfo networkInfo; private Context contxt; private ToolNetWork() { } public ToolNetWork getToolNetWork(Context context){ this.contxt=context; return this; } /** 判断网络是否可用 * return 是/否 * */ public boolean isAvailable(){ ConnectivityManager manager= (ConnectivityManager) contxt.getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE); if (manager==null){ return false; } networkInfo=manager.getActiveNetworkInfo(); if (networkInfo==null||networkInfo.isAvailable()){ return false; } return true; } /** *判断网络连接是否可用 * return 是/否 * */ public boolean isConnected(){ if (!isAvailable()){ return false; } if (networkInfo.isConnected()){ return false; } return true; } // 检查当前环境网络是否可用,不可用跳转至开启网络界面,不设置网络强制关闭当前Activity public void validateNetWork(){ if (!isConnected()){ AlertDialog.Builder dialogBuilder=new AlertDialog.Builder(contxt); dialogBuilder.setTitle("网络设置").setMessage("当前网络不可用,是否现在设置网络").setPositiveButton("是", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ((Activity)contxt).startActivityForResult(new Intent(Settings.ACTION_SETTINGS),which); } }).setNegativeButton("否", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }).create().show(); } } /** * 获取网络连接信息</br> 无网络:</br> WIFI网络:WIFI</br> WAP网络:CMWAP</br> * NET网络:CMNET</br> * * @return */ public String getNetWorkType(){ if (isConnected()){ int type=networkInfo.getType(); if (ConnectivityManager.TYPE_MOBILE==type){ Log.i(TAG, "networkInfo.getExtraInfo()-->" + networkInfo.getExtraInfo()); if (NETWORK_CMNET.equals(networkInfo.getExtraInfo().toLowerCase())){ return NETWORK_CMNET; }else{ return NETWORK_CMWAP; } }else if (ConnectivityManager.TYPE_WIFI==type){ return NETWORK_WIFI; } } return null; } private static class SingletonHolder{ private static ToolNetWork toolNetWork=new ToolNetWork(); }}
0 0
- 网络工具类
- 网络工具类
- 网络工具类
- 网络工具类
- android NetWorkHelper 网络工具类
- 访问网络工具类
- NetworkUtil 网络工具类
- swift网络工具类
- android 网络工具类
- Android 网络工具类HttpManaer
- 网络工具类WebHttpUtils
- Wiki_Android_网络工具类NetworkUtils
- 网络工具类---NetWorkUtil
- Java网络工具类
- 访问网络工具类
- java网络工具类
- 网络工具类封装
- 判断网络工具类
- 环境路径配置
- Struts2+Spring+Hibernate搭建
- 谈谈final, finally, finalize的区别
- 为什么Qt编程出现No signal?
- 代碼設置控件居中
- 网络工具类
- 安卓面试重难点
- 华为大企业信息安全解决方案简介
- android开发之自定义toast
- XML中配置dubbo相关标签不能解析的问题
- 深入浅出Android打包
- 负载平衡问题[网络流24题之19]
- MAVEN中在同一环境下配置不同环境下的WAR包
- HDOJ1045 DFS