Android利用广播监听设备网络连接(断网)的变化情况
发布日期:2021-06-30 11:15:11
浏览次数:2
分类:技术文章
本文共 1798 字,大约阅读时间需要 5 分钟。
MainActivity如下:package cc.testnetworkchange;import android.os.Bundle;import android.app.Activity;/** * Demo描述: * 利用广播监听设备网络连接的变化情况 * 亦可借此监测到设备是否已经断开网络 */public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); }}
NetWorkChangeBroadcastReceiver如下:
package cc.testnetworkchange;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManager;import android.net.NetworkInfo;import android.net.NetworkInfo.State;public class NetWorkChangeBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivityManager!=null) { NetworkInfo [] networkInfos=connectivityManager.getAllNetworkInfo(); for (int i = 0; i < networkInfos.length; i++) { State state=networkInfos[i].getState(); if (NetworkInfo.State.CONNECTED==state) { System.out.println("------------> Network is ok"); return; } } } //没有执行return,则说明当前无网络连接 System.out.println("------------> Network is validate"); intent.setClass(context, NetWorkErrorActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); }}NetWorkErrorActivity如下:
package cc.testnetworkchange;import android.os.Bundle;import android.app.Activity;public class NetWorkErrorActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.networkerror); }}main.xml如下:
AndroidManifest.xml如下:
转载地址:https://it9527.blog.csdn.net/article/details/28588441 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月09日 15时31分35秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
SVN工作副本还原命令revert
2019-04-30
SVN锁定lock和解锁unlock
2019-04-30
SVN强制解锁操作
2019-04-30
SVN命令list
2019-04-30
SVN命令log和info
2019-04-30
SVN命令copy
2019-04-30
yum安装mysql
2019-04-30
mysql删除表数据恢复
2019-04-30
Mysql连接数和状态
2019-04-30
Mysql表被锁的解决
2019-04-30
oracle删除ASM
2019-04-30
oracle移动数据文件
2019-04-30
oracle删除数据文件
2019-04-30
oracle临时数据文件
2019-04-30
oracle默认临时表空间
2019-04-30
oracle表空间组
2019-04-30
升级openssh报 PAM headers not found
2019-04-30
oracle内存管理的相关初始化参数
2019-04-30