问题:

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(安卓)Wifi相关广播 -- WIFI_STATE_CHANGED_ACTION
  2. Android(安卓)-- 生成二维码
  3. Android(安卓)监听wifi广播的两种方式
  4. android 自定义组件随着手指自动画圆
  5. 我今天的面试题,注册广播有几种方式,这些方式有何优缺点?请谈谈Andr
  6. Android广播接实现电话的监听(电话的状态,拦截)
  7. android 监听USB连接状态
  8. Android四大组件之~~BroadcastReceiver
  9. Android(安卓)学习笔记--android――Activity生命周期,server,Br

随机推荐

  1. PHP如何实现简单的Socket
  2. PHP结合AJAX实现搜索提示功能
  3. PHP如何将中文转英文
  4. 深入理解依赖注入是如何实现解耦
  5. PHP中的危险函数你知道吗?
  6. 【 callable-fake】虚构你的可调用函数以
  7. PHP使用Redis常见7种使用场景
  8. php如何去除空数组
  9. PHP 中的生成器(Generator)详解
  10. php时间戳转换成时间的方法