Android实时监听网络状态(1)
来源:互联网 发布:usb加密狗破解软件 编辑:程序博客网 时间:2024/06/06 08:46
package com.javen.receiver;import java.util.ArrayList;import com.javen.application.Application;import com.javen.netbroadcast.NetUtil;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class NetBroadcastReceiver extends BroadcastReceiver { public static ArrayList<netEventHandler> mListeners = new ArrayList<netEventHandler>(); private static String NET_CHANGE_ACTION = "android.net.conn.CONNECTIVITY_CHANGE"; @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(NET_CHANGE_ACTION)) { Application.mNetWorkState = NetUtil.getNetworkState(context); if (mListeners.size() > 0)// 通知接口完成加载 for (netEventHandler handler : mListeners) { handler.onNetChange(); } } } public static abstract interface netEventHandler { public abstract void onNetChange(); }}
4、在应该的Activity中实现netEventHandler接口
package com.javen.netbroadcast;import com.javen.receiver.NetBroadcastReceiver;import com.javen.receiver.NetBroadcastReceiver.netEventHandler;import com.javen.ui.base.BaseActivity;import android.os.Bundle;import android.view.Menu;public class MainActivity extends BaseActivity implements netEventHandler{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); NetBroadcastReceiver.mListeners.add(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public void onNetChange() { // TODO Auto-generated method stub if (NetUtil.getNetworkState(this) == NetUtil.NETWORN_NONE) { T.showLong(this, R.string.net_err); }else { T.showLong(this, "网络可以使用"); } }}
5、判断网络的工具类
package com.javen.netbroadcast;import android.content.Context;import android.net.ConnectivityManager;import android.net.NetworkInfo.State;public class NetUtil { public static final int NETWORN_NONE = 0; public static final int NETWORN_WIFI = 1; public static final int NETWORN_MOBILE = 2; public static int getNetworkState(Context context) { ConnectivityManager connManager = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); // Wifi State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI) .getState(); if (state == State.CONNECTED || state == State.CONNECTING) { return NETWORN_WIFI; } // 3G state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE) .getState(); if (state == State.CONNECTED || state == State.CONNECTING) { return NETWORN_MOBILE; } return NETWORN_NONE; }}
原文地址:http://www.cnblogs.com/zyw-205520/p/3770705.html
0 0
- Android实时监听网络状态(1)
- Android实时监听网络状态(2)
- Android实时监听网络状态
- Android 实时监听网络状态
- Android实时监听网络状态
- Android实时监听网络状态
- Android 实时监听网络状态
- Android实时监听网络状态
- Android 实时监测(监听)网络连接状态变化
- Android 实时监测(监听)网络连接状态变化
- Android 实时监测(监听)网络连接状态变化
- Android 实时监测(监听)网络连接状态变化
- android 实时监听网络连接状态
- Android开发:实时监听网络状态
- Android实时监听网络连接状态
- Android实时监听网络状态 wifi
- Android简单实现实时监听网络状态
- Android如何实时监听网络状态.
- linux驱动开发fl2440开发板按键驱动
- Visual Studio Code-GO tasks 设置 (实现在vsc下直接编译输出的功能)
- CSCD(2015-2016年)来源期刊目录中国科学引文数据库
- 【Git/Github学习笔记】Git常用命令(推送到远程)
- 房中术
- Android实时监听网络状态(1)
- Go语言的风雨历程-----基本的语法
- iOS打包成 ipa包
- HDU2102 A计划
- 【Debug】“return HeapAlloc(_crtheap, 0, size ? size : 1);
- java-基础-ArrayList剖析
- 【Dongle】【ASP.NET】Web总结(二)
- div ul li 嵌套后如何解决增加多个li后ul高度自适应问题
- Android APP压力测试(一)之Monkey工具介绍