主要是用来检測是否有网络,假设没有,就去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. django authentication

    django authentication django session expiry login and logout view.py from django.contrib.auth import ...

  2. js 上传头像img

    <label> <div class="myusercenter-image-none"> <img src="" class=& ...

  3. 安装Windows10+Ubentu18双系统

    1.先安装Windows系统,安装完成后,使用磁盘管理工具划分出一定的freespace空间留给linux安装系统用. 2.使用Universal-USB-Installer制作ubentu启动U盘. ...

  4. Hibernate的核心配置

    Hibernate的设计思路 Hibernate是一种全自动化管理持久化对象的ORM框架,既提供了完全面向对象的封装完整的对象持久化接口(屏蔽db层的差异化,提升代码可移植性),也提供了操作HQL和S ...

  5. 解决Spellchecker inspection helps locate typos and misspelling in your code

    idea出现这个是因为词库中没有这个单词,所以提示拼写错误 解决办法:双击下面有虚线的单词——>鼠标右键——>spelling——>save 'xxx' to distionary

  6. ECSHOP二次开发文档【文件结构说明和数据库表分析】

    最近公司又把之前的ecshop进行二次开发,之前看过一些ecshop的东西,但是都过了很久差不多都忘完了,现在得把之前的重新捡回来,特此搜到这些文档,接下来的开发工作中会方便不少. Ecshop文件结 ...

  7. selenium——操作滚动条

    在自动化测试的过程中,难免会应用到翻页键,但是webdriver提供的方法都是操作当前页面可见的元素,对于未在当前范围展示的翻页键,该如何操作呢? 小编在这里介绍一种方法:使用JavaScript操作 ...

  8. 使用Docker compose编排Laravel应用

    前言 Laravel官方开发环境推荐的是Homestead(其实就是一个封装好的Vagrant box),我感觉这个比较重,于是自己用Docker compose编排了一套开发环境,在这里分享下. 环 ...

  9. 常用mysql

    搜索差价 select count(*) from gate_okex_cj; select * from (select count(*) as a_cj,coin from gate_okex_c ...

  10. day22 01 初识面向对象----简单的人狗大战小游戏

    day22 01 初识面向对象----简单的人狗大战小游戏 假设有一个简单的小游戏:人狗大战   怎样用代码去实现呢? 首先得有任何狗这两个角色,并且每个角色都有他们自己的一些属性,比如任务名字nam ...