Android判断网络状态的代码
时间:2022-07-28
本文章向大家介绍Android判断网络状态的代码,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文实例为大家分享了Android判断网络状态的具体代码,供大家参考,具体内容如下
一、权限
需要在AndroidManifest.xml 添加访问权限
<usespermissionandroid:name="android.permission.ACCESS_NETWORK_STATE"/
<uses-permission android:name="android.permission.INTERNET"/
二、判断连接状态
/**
* 判断是否有网络连接
* @param context
* @return
*/
public static boolean isConnect(Context context) {
boolean _isConnect = false;
ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo network = conManager.getActiveNetworkInfo();
if (network != null) {
_isConnect = conManager.getActiveNetworkInfo().isAvailable();
}
return _isConnect;
}
三、打开网络设置对话框
/**
* 打开系统网络设置界面
* @param context
*/
public void setNetworkMethod(final Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("提示信息").setMessage("未发现网络连接,是否进行设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent intent = null;
//3.0之前和之后API不同,需要判断
if (android.os.Build.VERSION.SDK_INT 10) {
intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
} else {
intent = new Intent();
ComponentName component = new ComponentName("com.android.settings", "com.android.settings.WirelessSettings");
intent.setComponent(component);
intent.setAction("android.intent.action.VIEW");
}
context.startActivity(intent);
}
}).setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
dialog.dismiss();
}
}).show();
}
四、调用
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (!isConnect(TwoActivity.this)){
setNetworkMethod(TwoActivity.this);
}
}
});
以上就是本文的全部内容,希望对大家的学习有所帮助。
- Java 时间类-Calendar、Date、LocalDate/LocalTime
- Java消息队列--JMS概述
- Java FtpClient 实现文件上传服务
- Java消息队列--ActiveMq 实战
- Java消息队列-Spring整合ActiveMq
- 【知识】SAS数据分析完整笔记(3)
- 深入浅出Redis-Spring整合Redis
- Stream-快速入门Stream编程
- MySQL Regular Expression
- Jenkin-持续集成
- 4.3.4.7 Pattern Matching
- mysql left join、right join、inner join用法分析
- _CrtSetDbgFlag
- UNPv13:#第3章#套接字编程简介
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- 强网杯-随便注
- LeetCode 1547. Minimum Cost to Cut a Stick(动态规划)
- 管道符漏洞
- 06-STM32+ESP8266+AIR202远程升级方案-移植STM32+ESP8266实现利用http或https远程更新STM32程序到自己的项目(定时访问升级,备份升级)
- 反射
- 记一次sys 数据库的修复
- 使用Django管理数据库表
- php学习day3
- mysqlbinlog命令详解
- XtraBackup工具详解 Part 9 innobackupex命令总结
- ctfhub-信息泄露-Git泄露
- php学习day2
- mysqlbinlog命令详解MySQL 5.7 常用命令
- Linxu系统安装PHP
- linux sed命令详解