android之检測是否有网络
主要是用来检測是否有网络,假设没有,就去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之检測是否有网络的更多相关文章
- windows下检測软件的网络连接
首先打开任务管理器选中你要查看的应用.右键转到进程 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGFwZW5nMDExMg==/font/5a6L5L2 ...
- Android 检測网络是否连接
权限: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <u ...
- Android内存泄漏检測与MAT使用
公司相关项目须要进行内存优化.所以整理了一些分析内存泄漏的知识以及工作分析过程. 本文中不会刻意的编写一个内存泄漏的程序,然后利用工具去分析它.而是通过介绍相关概念,来分析怎样寻找内存泄漏.并附上自己 ...
- android 之EditText输入检測
近期开发一个功能的时候发生一个故事,其情节例如以下: 功能事实上不复杂,当中须要一个EditText来获取用户输入的信息.于是,我做了一个Dialog来显示我的输入界面(代码例如以下): mAlert ...
- iOS开发实践之网络检測Reachability
在网络应用开发中.有时须要对用户设备的网络状态进行实时监控.以至于对用户进行友好提示 或者依据不同网络状态处理不一样的逻辑(如视频播放app,依据当前的网络情况自己主动切换视频清晰度等等).用Reac ...
- android 检測右滑的WebView
今天产品出新花样非得要右滑....检測到右滑手势后事件不做处理放在Activity中做对应的处理即可了. import android.app.Activity; import android.con ...
- AIX下RAC搭建 Oracle10G(一)检測系统环境
AIX下RAC搭建系列 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AIX203 AIX204 交换机 SAN光纤交换机 存储 S ...
- Matlab人脸检測方法(Face Parts Detection)具体解释
今天同学让我帮忙制作一个人脸表情识别的样本库,当中主要是对人脸进行裁剪,这里用到了一个相对较新的Matlab人脸检測方法Face Parts Detection.网上百度了一下发现关于Matlab人脸 ...
- Memory Leak检測神器--LeakCanary初探
在之前的文章Android内存泄露的几种情形中提到过在开发中常见的内存泄露问题,可是过于草率.因为刚开年,工作还没正式展开,就看了一下Github开源大户Square的LeakCanary,并用公 ...
随机推荐
- L2-2 社交集群 (25 分)(一个写挫的并查集)
题目: 思路: 就是一个并查集的裸题,不过在数据查找方面可能不好处理,暴力完全可以解决这个问题啊!! #include <bits/stdc++.h> #include <cstdi ...
- spoj-TSUM Triple Sums
题目描述 题解: 很吊的容斥+$FFT$,但是并不难. 首先,由于有重复,我们要容斥. 怎么办? 记录三个多项式, 只取一个:$w1$; 相同物体拿两个:$w2$; 相同物体拿三个:$w3$; 然后答 ...
- Gameia
F - Gameia HDU - 6105 Alice and Bob are playing a game called 'Gameia ? Gameia !'. The game goes l ...
- CSS--基础块级元素与内联元素
在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素.在HTML和XHTML中,块级元素不能继承自行内元素(即不能嵌套在行内元素),<p&g ...
- Tarjan 算法求割点、 割边、 强联通分量
Tarjan算法是一个基于dfs的搜索算法, 可以在O(N+M)的复杂度内求出图的割点.割边和强联通分量等信息. https://www.cnblogs.com/shadowland/p/587225 ...
- python基础——3(流程控制)
一.if判断 1.语法一: if 条件: 子代码块 示例代码: sex = 'female' age = 18 is_beautiful = True if sex == 'female' and a ...
- Java学习之并发多线程理解
1.线程简介: 世间万物会同时完成很多工作,如人体同时进行呼吸.血液循环.思考问题等活动,用户既可以使用计算机听歌也可以使用它打印文件,而这些活动完全可以同时进行,这种思想在Java中称为并发,而将并 ...
- PS小demo
1.打开图像素材. 2.图层 >> 添加调整图层 >> 色相/饱和度. 得到如下效果: 3.创建新图层,将图层混合模式设为“柔光”,选择笔刷工具,硬度100%,按下图所示绘制该 ...
- 67. @Transactional的类注入失败【从零开始学Spring Boot】
[从零开始学习Spirng Boot-常见异常汇总] Spring的代理模式有两种:java自带的动态代理模式和cglib代理模式,cglib代码模式适用于没有接口的类,而java自带适用于接口类,默 ...
- .net对象的生命周期
阅读了文章:.NET对象生命周期小结 文章分多个部分,第一部分:介绍了,创建对象时,内存的分配,对象真正被创建,以及经历各阶段垃圾回收的过程. 第二部分,介绍了Finalize与Dispsose方法.