[Android]推断网络连接是否可用
/**
* 推断移动网络是否开启
*
* @param context
* @return
*/
public static boolean isNetEnabled(Context context) {
TelephonyManager tm = (TelephonyManager) context
.getSystemService(Context.TELEPHONY_SERVICE);
if (tm != null) {
if (tm.getNetworkType() != TelephonyManager.NETWORK_TYPE_UNKNOWN) {
Log.i("sjf", "移动网络已经开启");
return true;
}
}
Log.i("sjf", "移动网络还未开启");
return false;
} /**
* 推断WIFI网络是否开启
*
* @param context
* @return
*/
public static boolean isWifiEnabled(Context context) {
WifiManager wm = (WifiManager) context
.getSystemService(Context.WIFI_SERVICE);
if (wm != null && wm.isWifiEnabled()) {
Log.i("sjf", "Wifi网络已经开启");
return true;
}
Log.i("sjf", "Wifi网络还未开启");
return false;
} /**
* 推断移动网络是否连接成功
*
* @param context
* @return
*/
public static boolean isNetContected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (cm != null && info != null && info.isConnected()) {
Log.i("sjf", "移动网络连接成功");
return true;
}
Log.i("sjf", "移动网络连接失败");
return false;
} /**
* 推断WIFI是否连接成功
*
* @param context
* @return
*/
public static boolean isWifiContected(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = cm.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (info != null && info.isConnected()) {
Log.i("sjf", "Wifi网络连接成功");
return true;
}
Log.i("sjf", "Wifi网络连接失败");
return false;
} /**
* 推断移动网络和WIFI是否开启
*
* @param context
* @return
*/
public static boolean isNetWorkEnabled(Context context) {
return (isNetEnabled(context) || isWifiEnabled(context));
} /**
* 推断移动网络和WIFI是否连接成功
* @param context
* @return
*/
public static boolean isNetworkConnected(Context context) {
return (isWifiContected(context) || isNetContected(context));
}
操作Wifi须要AndroidManifest.xml在进行一些配置:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
WIFI 的主要操作权限有四个:
CHANGE_NETWORK_STATE :同意改动网络状态的权限。
CHANGE_WIFI_STATE :同意改动 WIFI 状态的权限。
ACCESS_NETWORK_STATE :同意訪问网络状态的权限。
ACCESS_WIFI_STATE :同意訪问 WIFI 状态的权限。
[Android]推断网络连接是否可用的更多相关文章
- Android中判断网络连接是否可用及监控网络状态
Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...
- android中判断网络连接是否可用
一.判断网络连接是否可用 public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (C ...
- android 检查网络连接状态实现步骤
获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.AC ...
- Android检测网络连接
Android检测网络连接 import android.app.AlertDialog; import android.content.Context; import android.content ...
- android判断网络连接状态、联网类型、运营商
/** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { St ...
- android推断是否连接wifi和网络状态的推断
<span style="font-size:18px;">// 是否连接WIFI public static boolean isWifiConnected(Cont ...
- Android 检测网络连接状态
Android连接网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置. 首先,要判断网络状态,需要有相应的权限,下面为权限代码(Androi ...
- android当前网络连接类型判断
package net.nyist.netState; import android.content.Context; import android.net.ConnectivityManager; ...
- android检测网络连接状态示例讲解
网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置 Android连接首先,要判断网络状态,需要有相应的权限,下面为权限代码(Andro ...
随机推荐
- Redis学习笔记(二):Redis集群
集群通过分片(sharding)来进行数据共享,并提供复制和故障转移功能. 1.节点 一个节点就是一个运行在集群模式下的Redis服务器.启动Redis服务器时,通过判断cluster-enabl ...
- Scala学习1————scala开发环境搭建(windows 10)
Scala开发环境搭建 先讲几点我学习scala的目的或者原因吧: JVM在企业中的霸主地位,Scala也是JVM上的语言,很有可能未来会从Java过度到Scala也不是不可能. 先进的函数式编程和面 ...
- MySQL命令学习之技巧(博主推荐)
关于,这篇博客呢,是
- hibernate_03_session详解
获得session对象有两种方法: 1)openSession 2)getCurrentSession 如果使用的是getCurrentSession需要在hibernate.cfg.xml文件中进行 ...
- dubbo之分组聚合
按组合并返回结果 ,比如菜单服务,接口一样,但有多种实现,用group区分,现在消费方需从每种group中调用一次返回结果,合并结果返回,这样就可以实现聚合菜单项. 相关代码可以参考 dubbo 项目 ...
- dubbo之静态服务
有时候希望人工管理服务提供者的上线和下线,此时需将注册中心标识为非动态管理模式 <dubbo:registry address="10.20.141.150:9090" dy ...
- Python批量添加库搜索路径
被win10 给坑了,换回Win7. 重装系统后,继续使用Python,Eclipse不用重装,pydev不用重装,只需重装Python2.7.6 X64 for win即可.然后,默认已安装的Pyt ...
- 【sqli-labs】 less39 GET -Stacked Query Injection -Intiger based (GET型堆叠查询整型注入)
http://192.168.136.128/sqli-labs-master/Less-39/?id=1;insert into users(id,username,password) values ...
- (转)Openlayers 2.X加载天地图
http://blog.csdn.net/gisshixisheng/article/details/44621923 概述: 在前面的章节,讲到了Arcgis for js加载天地图,在本节讲述如何 ...
- 阿里P7架构师详解微服务链路追踪原理
背景介绍 在微服务横行的时代,服务化思维逐渐成为了程序员的基本思维模式,但是,由于绝大部分项目只是一味地增加服务,并没有对其妥善管理,当接口出现问题时,很难从错综复杂的服务调用网络中找到问题根源,从而 ...