一些网络判断方法
来源:互联网 发布:unity3d海底模型 编辑:程序博客网 时间:2024/06/07 13:26
public class NetworkUtils { /** * @Title: checkingNetStatus * @Description: 判断网络状态 * @param: @param context * @param: @return * @return: boolean false:网络异常;true 网络正常 */ public static boolean checkingNetStatus(Context context) { boolean result = false; ConnectivityManager conManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networInfo = conManager.getActiveNetworkInfo(); // 取得网络连接相关信息 if (networInfo == null || !networInfo.isAvailable()) // 网络链接异常 { result = false; } else { result = true; } return result; } /** * 打开网络设置 */ public static void openNetSet(Context context) { if (android.os.Build.VERSION.SDK_INT > 10) { // 3.0以上打开设置界面,也可以直接用ACTION_WIRELESS_SETTINGS打开到wifi界面 context.startActivity(new Intent( android.provider.Settings.ACTION_SETTINGS)); } else { context.startActivity(new Intent( android.provider.Settings.ACTION_WIRELESS_SETTINGS)); } } /** * 检测手机是否开启GPRS网络,需要调用ConnectivityManager,TelephonyManager 服务. * * @param context * @return boolean */ public static boolean checkGprsNetwork(Context context) { boolean has = false; ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mTelephony = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); NetworkInfo info = connectivity.getActiveNetworkInfo(); int netType = info.getType(); int netSubtype = info.getSubtype(); if (netType == ConnectivityManager.TYPE_MOBILE && netSubtype == TelephonyManager.NETWORK_TYPE_UMTS && !mTelephony.isNetworkRoaming()) { has = info.isConnected(); } return has; } public static int checkNetType(Context context){ int type=0; //0--网络未连接 //1-wifi //2-流量 ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo.State gprs = connectivity.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); NetworkInfo.State wifi = connectivity.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); if(gprs == NetworkInfo.State.CONNECTED || gprs == NetworkInfo.State.CONNECTING){ type=2; } //判断为wifi状态下才加载广告,如果是GPRS手机网络则不加载! else if(wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING){ type=1; }else { type=0; } return type; } /** * 检测手机是否开启WIFI网络,需要调用ConnectivityManager服务. * * @param context * @return boolean */ public static boolean checkWifiNetwork(Context context) { boolean has = false; ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = connectivity.getActiveNetworkInfo(); int netType = info.getType(); int netSubtype = info.getSubtype(); if (netType == ConnectivityManager.TYPE_WIFI) { has = info.isConnected(); } return has; } /** * 检测当前手机是否联网 * * @param context * @return boolean */ public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { return false; } else { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED) { return true; } } } } return false; } /** * 手机是否处在漫游 * * @param mCm * @return boolean */ public boolean isNetworkRoaming(Context mCm) { ConnectivityManager connectivity = (ConnectivityManager) mCm .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { return false; } NetworkInfo info = connectivity.getActiveNetworkInfo(); boolean isMobile = (info != null && info.getType() == ConnectivityManager.TYPE_MOBILE); TelephonyManager mTm = (TelephonyManager) mCm .getSystemService(Context.TELEPHONY_SERVICE); boolean isRoaming = isMobile && mTm.isNetworkRoaming(); return isRoaming; } public static String getImeiId(Context context) { TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); String imei = telephonyManager.getDeviceId(); return imei; }}
0 0
- 一些网络判断方法
- 判断网络是否有效的一些方法
- 素数判断一些方法
- 判断网络状态的方法
- Main主方法判断网络
- 开发中需要的一些网络判断
- DataSet一些判断存在与否的方法
- SHELL使用的一些判断方法
- 判断是否为空的一些方法
- 回归模型的一些判断方法
- 判断网络未连接的方法
- 判断网络是否可连接的方法
- Android判断网络状态方法详解
- Android判断网络状态方法详解
- Android判断网络状态方法详解
- Android判断网络状态方法详解
- Android判断网络状态方法详解
- Android判断网络状态方法详解
- HTTP 协议简介
- ORACLE用SYS登录报ORA-28009:connection as SYS should be as SYSDBA OR SYSOPER
- Hibernate注解方法使用总结
- 浅谈JDK8相对于JDK7的一些新特性
- 设置缓存
- 一些网络判断方法
- 脏读、幻读、不可重复读 and 乐观锁、悲观锁 and 事务五种隔离级别
- Ueditor实例化传入参数
- java范型通配符
- Mac Jenkins+fir 搭建
- linux 修改mysql密码
- 洛谷 P1144 最短路计数
- SSDT修改Dynamics AX SSAS Cube之后如何更新到AOT
- 控制台不能ping ip地址