Android 监听网络连接状态
来源:互联网 发布:表白失败知乎 编辑:程序博客网 时间:2024/06/01 10:52
当然离不开广播
public class NetBroadcastReceiver extends BroadcastReceiver { public NetBroadcastReceiver() { } private NetContentListener netContentListener; @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mobNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); NetworkInfo wifiNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (!mobNetInfo.isConnected() && !wifiNetInfo.isConnected()) { //改变背景或者 处理网络的全局变量 netContentListener.netContent(false); } else { //改变背景或者 处理网络的全局变量 netContentListener.netContent(true); } } public void setNetContentListener(NetContentListener netContentListener) { this.netContentListener = netContentListener; } public interface NetContentListener { void netContent(boolean isConnected); }}
别忘了在清单文件里面注册
<receiver android:name=".receiver.NetBroadcastReceiver" android:enabled="false" android:exported="false"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>
要读取网络状态,还需要加权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
最后就是在对于的地方注册广播进行监听
//监听网络状态 private void registerNetReceiver() { IntentFilter filter = new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION); NetBroadcastReceiver netBroadcastReceiver = new NetBroadcastReceiver();//这应该是个全局变量,为了方便观看,才写成了局部 this.registerReceiver(netBroadcastReceiver, filter); netBroadcastReceiver.setNetContentListener(new NetBroadcastReceiver.NetContentListener() { @Override public void netContent(boolean isConnected) { if (isConnected) { LogUtils.tag("main").i("网络连接"); layout_notconnet.setVisibility(View.GONE); } else { LogUtils.tag("main").i("网络断开"); layout_notconnet.setVisibility(View.VISIBLE); } } }); }
最后别忘记在activity关闭的时候把注册的广播给取消掉
“`
@Override
protected void onDestroy() {
super.onDestroy();
this.unregisterReceiver(netBroadcastReceiver);
}
0 0
- Android 监听网络连接状态
- Android监听网络连接状态变化
- android 监听网络连接状态的改变
- Android监听网络连接状态方法
- android 实时监听网络连接状态
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- android 广播监听网络连接状态
- android 监听网络连接状态的改变
- android 监听网络连接状态的变化
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- android 监听网络连接状态的改变
- Android实时监听网络连接状态
- android 监听网络连接状态的改变
- 网络连接状态监听
- android监听网络状态
- Android监听网络状态
- TextView添加下滑线
- spring mvc 响应界面跳转的几种方式
- Vert.x核心模块 HTTP客户端推送 (十【5】)
- 数据库工具 Navicat_Premium
- 小白日记15:kali渗透测试之弱点扫描-漏扫三招、漏洞管理、CVE、CVSS、NVD
- Android 监听网络连接状态
- TextView控制字的个数
- Spring MVC 学习笔记1:Spring 框架
- 补全默认Tableview的cell分割线最前面15的空缺
- c 指针与首地址
- Java与MySQL之间的连接
- 同余方程 ax≡1(mod b) & POJ 1061 青蛙的约会
- JS高级程序设计笔记(二):变量、作用域和内存
- TextView内容不换行问题