双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

从GPRS到Wifi已连接时收到三次CONNECTIVITY_CHANGE的广播

happyz90 happyz90 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
接收android.net.conn.CONNECTIVITY_CHANGE广播后,onReceive中通过下面代码判断Wifi是否已连接,总会连续三次输出“Wifi Connected”,也就会连续调用三次doSomething():

ConnectivityManager connManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo wifiInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if(wifiInfo.isConnected()) {
Log.v(Constant.APP_NAME, "Wifi Connected.");
doSomething();
}


我查了一下,应该是这个原因引起的:
从 GPRS 到 WIFI,程序至少会收到3个Broadcast
第一个是连接到WIFI
第二个是断开GPRS
第三个是连接到WIFI

请问我应该怎样处理,才能在从GPRS切换到Wifi的时候,只调用一次doSomething()?
谢谢
...全文

相关推荐

评论 1
收藏 已收藏
分享
返回顶部
happyz90
Android 80,489 成员 91,375 内容