android之检測是否有网络
2024-08-30 15:09:41
主要是用来检測是否有网络,假设没有,就去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;
}
最新文章
- 第0/24周 SQL Server 性能调优培训引言
- halcon算子
- git初体验(四)git标签
- POJ1061 青蛙的约会(线性同余方程)
- hdu3060Area2(任意多边形相交面积)
- Oracle的参数文件
- 自动装配【Spring autowire】
- 代码自动生成工具MyGeneration之一(程序员必备工具)
- 加密解密知识 php非对称加密
- 安装Node.js
- coursera上的软件安全课程的课后阅读补充
- 使用Repository模式构建数据库访问层
- 【渗透课程】第二篇上-http请求协议的简单描述
- 【IT小常识】如何将IE手动升级或降级
- [转]docker安装elk
- WebSphere Application Server V8.5.5.0
- 关于innodb mtr模块
- Python在Win10系统的安装和使用配置
- Ubuntu SVN安装&;使用&;命令
- Java CST格式字符串转换成Date类型的数据
热门文章
- 《编译原理》画 DAG 图与求优化后的 4 元式代码- 例题解析
- jvm 内存溢出 在myeclipse中加大tomcat的jvm内存 java.lang.OutOfMemoryError: PermGen space
- luogu P1008 三连击
- NYOJ 1875 畅通工程再续 (无节点间距离求最小生成树)
- Root of AVL Tree
- [MVC]Ajax辅助方法
- 关于shell中常见功能的实现方式总结
- 用AOP来让你的JS代码变得更有可维护性吧
- loadrunner使用随机值
- 使用HttpWebRequest post数据时要注意UrlEncode