主要是用来检測是否有网络,假设没有,就去wifi里面去进行设置网络。。。

以下贴一下主要代码:

private void checkNetWorkInfo() {
if (!Tools.isNetworkAvailable(this)) {
new AlertDialog.Builder(this)
.setTitle("提示!")
.setIcon(android.R.drawable.ic_dialog_info)
.setMessage("检測到你还没开启网络,请开启")
.setNegativeButton("取消", null)
.setPositiveButton("开启",
new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog,
int which) {
startActivity(new Intent(
Settings.ACTION_WIRELESS_SETTINGS));// 进入无线网络配置界面
startActivity(new Intent(
Settings.ACTION_WIFI_SETTINGS)); // 进入手机中的wifi网络设置界面
}
}).show();
}
}

isNetworkAvailable里面的代码:

/*
* 推断是否有网络
*/
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm == null) {
return false;
} else {
// 打印全部的网络状态
NetworkInfo[] infos = cm.getAllNetworkInfo();
if (infos != null) {
for (int i = 0; i < infos.length; i++) {
// Log.d(TAG, "isNetworkAvailable - info: " +
// infos[i].toString());
if (infos[i].getState() == NetworkInfo.State.CONNECTED) {
Log.d(TAG, "isNetworkAvailable - I " + i);
}
}
} // 假设不过用来推断网络连接      
// 则能够使用 cm.getActiveNetworkInfo().isAvailable();
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null) {
Log.d(TAG,
"isNetworkAvailable - 是否有网络: "
+ networkInfo.isAvailable());
} else {
Log.d(TAG, "isNetworkAvailable - 完毕没有网络! ");
return false;
} // 1、推断是否有3G网络
if (networkInfo != null
&& networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
Log.d(TAG, "isNetworkAvailable - 有3G网络");
return true;
} else {
Log.d(TAG, "isNetworkAvailable - 没有3G网络");
} // 2、推断是否有wifi连接
if (networkInfo != null
&& networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
Log.d(TAG, "isNetworkAvailable - 有wifi连接");
return true;
} else {
Log.d(TAG, "isNetworkAvailable - 没有wifi连接");
}
}
return false;
}

android之检測是否有网络的更多相关文章

  1. windows下检測软件的网络连接

    首先打开任务管理器选中你要查看的应用.右键转到进程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGFwZW5nMDExMg==/font/5a6L5L2 ...

  2. Android 检測网络是否连接

    权限: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  <u ...

  3. Android内存泄漏检測与MAT使用

    公司相关项目须要进行内存优化.所以整理了一些分析内存泄漏的知识以及工作分析过程. 本文中不会刻意的编写一个内存泄漏的程序,然后利用工具去分析它.而是通过介绍相关概念,来分析怎样寻找内存泄漏.并附上自己 ...

  4. android 之EditText输入检測

    近期开发一个功能的时候发生一个故事,其情节例如以下: 功能事实上不复杂,当中须要一个EditText来获取用户输入的信息.于是,我做了一个Dialog来显示我的输入界面(代码例如以下): mAlert ...

  5. iOS开发实践之网络检測Reachability

    在网络应用开发中.有时须要对用户设备的网络状态进行实时监控.以至于对用户进行友好提示 或者依据不同网络状态处理不一样的逻辑(如视频播放app,依据当前的网络情况自己主动切换视频清晰度等等).用Reac ...

  6. android 检測右滑的WebView

    今天产品出新花样非得要右滑....检測到右滑手势后事件不做处理放在Activity中做对应的处理即可了. import android.app.Activity; import android.con ...

  7. AIX下RAC搭建 Oracle10G(一)检測系统环境

    AIX下RAC搭建系列 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AIX203 AIX204 交换机 SAN光纤交换机 存储 S ...

  8. Matlab人脸检測方法(Face Parts Detection)具体解释

    今天同学让我帮忙制作一个人脸表情识别的样本库,当中主要是对人脸进行裁剪,这里用到了一个相对较新的Matlab人脸检測方法Face Parts Detection.网上百度了一下发现关于Matlab人脸 ...

  9. Memory Leak检測神器--LeakCanary初探

      在之前的文章Android内存泄露的几种情形中提到过在开发中常见的内存泄露问题,可是过于草率.因为刚开年,工作还没正式展开,就看了一下Github开源大户Square的LeakCanary,并用公 ...

随机推荐

  1. Ubuntu16.04安装MySql5.7

    安装方式有好多种,这里选择使用APT安装. 主要参考文档为官方文档:https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/#apt-repo- ...

  2. Android发布apk后解决百度地图不显示的问题

    今天在做Android apk发布时,发现发布后不能显示百度地图,结合网上的信息,及自己的实验,终于可以了.原来在Eclipse上直接run的是测试版本,而发布后是运行版本,两个版本的SHA1值不一样 ...

  3. Android开发——GPS定位

    1.LocationManager LocationManager系统服务是位置服务的核心组件,它提供了一系列方法来处理与位置相关的问题. 与LocationManager相关的两个知识点: 1.1 ...

  4. XTU 二分图和网络流 练习题 C. 方格取数(1)

    C. 方格取数(1) Time Limit: 5000ms Memory Limit: 32768KB 64-bit integer IO format: %I64d      Java class ...

  5. Leetcode 239.滑动窗口最大值

    滑动窗口最大值 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧.你只可以看到在滑动窗口 k 内的数字.滑动窗口每次只向右移动一位. 返回滑动窗口最大值. 示例: ...

  6. 局部二值模式(Local Binary Patterns)纹理灰度与旋转不变性

    Multiresolution Gray Scale and Rotation Invariant Texture Classification with Local Binary Patterns, ...

  7. 【Ajax 4】Ajax、JavaScript和JQuery的联系和区别

    导读:在之前,就分别学习了Ajax.JavaScript和JQuery,然后对于这三者之间的关系,是一直云里雾里的.尤其是后来学到了Ajax,就更是不明白了.现在,就给总结总结. 一.基本概述 1.1 ...

  8. POJ-1797Heavy Transportation,最短路变形,用dijkstra稍加修改就可以了;

    Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K          Description Background  Hugo ...

  9. 博弈 Nim问题 POJ2234

    定义: 通常的Nim游戏的定义是这样的:有若干堆石子,每堆石子的数量都是有限的,合法的移动是 “选择一堆石子并拿走若干颗(不能不拿)”,如果轮到某个人时所有的石子堆都已经被拿空了, 则判负(因为他此刻 ...

  10. 【linux】ls与ll区别

    ll是一个事先被定义好的别名(alias).别名就是赋予一条命令或者一列命令的名称.可以将别名作为缩写的同义词.在我的Ubuntu系统上,~/.bashrc文件中有这么一条语句alias ll='ls ...