问题:

public class NetStatReceiver extends BroadcastReceiver {
 public static final String netACTION = "android.net.conn.CONNECTIVITY_CHANGE";
 @Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
this.context = context;
if (intent.getAction().equals(netACTION)) {
// Intent中ConnectivityManager.EXTRA_NO_CONNECTIVITY这个关键字表示着当前是否连接上了网络
boolean isBreak = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
if (!isBreak) {//有网络
  //3G跟WIFI切换的时候,会收到三个这样的广播,第一个广播把wifi连接上,第二个广播到3G关闭掉,第三个广播把wifi连接上。但是我这里只想提醒用户一次啊,怎么把另外两次提醒屏蔽掉呢?谁有好的方法,android方面着手的,或者java方面着手的。
  }else {
  }

 

解决办法:

NetworkInfo netInfo = (NetworkInfo) b.get(ConnectivityManager.EXTRA_NETWORK_INFO);
NetworkInfo.State state = netInfo.getState();
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetInfo = connectivityManager.getActiveNetworkInfo();

if ((state == NetworkInfo.State.CONNECTED) && (activeNetInfo != null) && (activeNetInfo.getType() != netInfo.getType())) {return;}


activeNetInfo.getType() != netInfo.getType()

http://topic.csdn.net/u/20121023/09/1fe1c63b-4ec9-4ae2-9b98-e7e86bd783d0.html

更多相关文章

  1. Android开发学习笔记整理(16)-网络请求
  2. android 网络检测
  3. android 判断网络是否连接
  4. Android studio 多线程网络文件下载
  5. android判断网络是否能用
  6. android 获取网络上服务器图片
  7. Android 监控网络状态
  8. android网络状态检查
  9. Android 下的网络测试工具一个!

随机推荐

  1. Android的App列表之拖拽ListView(上)
  2. keytool错误: java.lang.RuntimeException
  3. Repo on Ubuntu
  4. ] Android(安卓)高手进阶篇 1-Service
  5. Flutter PageView使用案例
  6. Android中SQLite数据库介绍和使用
  7. android万能的Listview适配器
  8. Content Provider 基础
  9. Android(安卓)分享实现,微信、微博、腾讯
  10. Android(安卓)IPC进程间通信详解最新Andr