/**
* 推断移动网络是否开启
*
* @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]推断网络连接是否可用的更多相关文章

  1. Android中判断网络连接是否可用及监控网络状态

    Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...

  2. android中判断网络连接是否可用

    一.判断网络连接是否可用 public static boolean isNetworkAvailable(Context context) { ConnectivityManager cm = (C ...

  3. android 检查网络连接状态实现步骤

    获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.AC ...

  4. Android检测网络连接

    Android检测网络连接 import android.app.AlertDialog; import android.content.Context; import android.content ...

  5. android判断网络连接状态、联网类型、运营商

    /** * 获取上网方式 * * @param mContext * @return */ public static String getNetType(Context mContext) { St ...

  6. android推断是否连接wifi和网络状态的推断

    <span style="font-size:18px;">// 是否连接WIFI public static boolean isWifiConnected(Cont ...

  7. Android 检测网络连接状态

    Android连接网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置. 首先,要判断网络状态,需要有相应的权限,下面为权限代码(Androi ...

  8. android当前网络连接类型判断

    package net.nyist.netState; import android.content.Context; import android.net.ConnectivityManager; ...

  9. android检测网络连接状态示例讲解

    网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置   Android连接首先,要判断网络状态,需要有相应的权限,下面为权限代码(Andro ...

随机推荐

  1. @RequestBody接收的是一个json对象

    一直以为在SpringMVC环境中,@RequestBody接收的是一个json对象,调试代码时没有成功,后来才发现,其实 @RequestBody接收的是一个json字符串,而不是一个json对象. ...

  2. 0522 json

    一.概念 json依赖于js和xml,是一种数据交换格式,json对比xml的生成和处理要更加方便.因此在许多领域,json正逐步取代xml的使用. 二.使用 1.在JS当中 json在javascr ...

  3. cocos creator制作微信小游戏

    2019-05-30 22:11:47 基础: javaScript基础   https://www.bilibili.com/video/av34087791?from=search&sei ...

  4. .Net Core 学习(二)上篇

    用Visual Studio和ASP.NET Core MVC创建Web API 1.启动Visual Studio.从文件菜单,选择新建>项目.选择ASP.NET Core Web Appli ...

  5. net .异步委托知识

    以前在编程中,异步用的比较少,导致C# 一些基础的 东西用法都不怎么熟悉,经常要用的时候在去查找资料比较被动,而已没真正里面理解起来,始终感觉不是自己的知识 (题外话) 首先委托关键字  Delega ...

  6. HTML+CSS(10)

    n  组合选择器 多元素选择器 n  描述:给多个元素加同一个样式,多个选择器之间用逗号隔开. n  举例:h1,p,div,body{color:red;} 后代元素选择器(最常用) n  描述:给 ...

  7. SQLite 在 Android 的应用

    Android提供了创建和使用SQLite数据库的API(Application Programming Interface,应用程序编程接口). 在Android系统中,主要由类SQLiteData ...

  8. halcon 模板匹配 -- 转化 vector_angle_to_rigid

    ********************************模板匹配 ********************create_shape_model创建模板,这个函数有许多参数,其中金字塔的级数由N ...

  9. Dispatch Queues and Thread Safety

    Dispatch Queues and Thread Safety It might seem odd to talk about thread safety in the context of di ...

  10. day007 列表类型、元祖类型、 字典类型、 集合类型的内置方法

    目录 列表数据类型的内置方法 作用 定义方式 优先掌握的方法 需要掌握的方法 元祖类型的内置方法 作用 定义方式 优先掌握的方法(参考列表方法) 字典类型的内置方法 作用 定义方式 优先掌握的方法 需 ...