Android之判断是否有网封装类
来源:互联网 发布:色环电阻识别软件 编辑:程序博客网 时间:2024/05/01 06:02
Android之判断是否有网封装类
我们做项目的时候,一般都不能离开网络,下面是对判断是否有网类的封装
import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.wifi.WifiInfo;import android.net.wifi.WifiManager;import android.widget.Toast;public class NetState {public final static int CONNECTION_NO = 0; //无网络连接public static final int CONNECTION_HOME = 1;//内网中wifipublic final static int CONNECTION_OUTSIDE = 2;//外网中wifi或使用移动数据//检查网络状态public static int checkState(Context context){int state = CONNECTION_NO;ConnectivityManager connectivityManager= (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);if(connectivityManager!=null){NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();if(networkInfo!=null&&networkInfo.isAvailable()&&networkInfo.isConnected()){if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {WifiManager wifiManager =(WifiManager)context.getSystemService(Context.WIFI_SERVICE);WifiInfo wifiInfo = wifiManager.getConnectionInfo();//wifiInfo.getBSSID().equals(wifiMac);state = CONNECTION_HOME;}else {state =CONNECTION_OUTSIDE;}}} return state;}/** * 判断是否有网络 */@SuppressWarnings("deprecation")public static boolean IfNet(Context context){switch (NetState.checkState(context)) {case NetState.CONNECTION_NO:Toast.makeText(context, "网络断了哦,检查一下您的网络吧", Toast.LENGTH_SHORT).show();return true;default:break;}return false;}public static String getLocalMacAddress(Context context) { WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress(); } public static boolean isWifi(Context context) { try { WifiManager wm = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); return (wm!=null && WifiManager.WIFI_STATE_ENABLED == wm.getWifiState()); } catch (Exception e) { } return false; } }还有一些其它的可以参考下
public class NetworkDetector { public static boolean detect(Activity act) { ConnectivityManager manager = (ConnectivityManager) act .getApplicationContext().getSystemService( Context.CONNECTIVITY_SERVICE); if (manager == null) { return false; } NetworkInfo networkinfo = manager.getActiveNetworkInfo(); if (networkinfo == null || !networkinfo.isAvailable()) { return false; } return true; }} 这个类只有一个静态方法,用来检测当前系统的网络是否可用。如果可用,返回true。还要进一步说明的是,NetworkInfo类中有一个方法getType(),这个方法可以用来判断当前可用的网络是wifi,还是mobile等等。 再来看使用的例子。 view plaincopy to clipboardprint?boolean networkState = NetworkDetector.detect(XXXActivity.this); if (!networkState) { DialogUtil.openMsgDialog(XXXActivity.this, android.R.drawable.ic_dialog_info, “网络不可用,是否现在设置网络?”, android.R.string.ok, android.R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { startActivityForResult(new Intent( ACTION_WIRELESS_SETTINGS), 0); } }, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }).show(); } boolean networkState = NetworkDetector.detect(XXXActivity.this); if (!networkState) { DialogUtil.openMsgDialog(XXXActivity.this, android.R.drawable.ic_dialog_info, “网络不可用,是否现在设置网络?”, android.R.string.ok, android.R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { startActivityForResult(new Intent( ACTION_WIRELESS_SETTINGS), 0); } }, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }).show(); }
0 0
- Android之判断是否有网封装类
- 封装 判断是否有网络
- Android判断是否有网
- 判断是否有网
- 判断是否有网
- Android判断是否有网络
- Android 判断是否有网络
- Android 判断是否有网络
- Android 判断是否有空格
- Android之判断是否有SD卡、SIM卡
- Android 开发之判断当前是否有网络可用
- Android 判断是否有网及无网处理
- 面试之------判断单链表是否有环
- IOS之判断是否有网络
- android 判断是否有可用网络
- Android-判断是否有网络连接&&类型
- Android判断是否有网络连接
- Android 判断是否有声音在播放
- android之 MAT、DDMS 等内存查看工具
- 根据传智播客ibatis视频教程编写的入门例子
- 欢迎使用CSDN-markdown编辑器
- Asp.Net网站部署-上传文件限制解决方案
- 背包九讲(各种背包问题)
- Android之判断是否有网封装类
- htmlunit官网简易教程(翻译)
- 给了一串数字:218916754,根据下面规则可以找出扣扣号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后
- java中HashMap,LinkedHashMap,TreeMap,HashTable的区别
- iOS9项目打包上线(个人记录,2015年11月11日)
- Android Studio集成信鸽SDK
- 015 - 3Sum
- 【后缀树】子串匹配结构
- Qt Quick 图像处理实例之美图秀秀(附源码下载)