接收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()?
谢谢
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()?
谢谢
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货