Android 当网络从GPRS切换到Wifi时接收3次广播
当网络从GPRS切换到Wifi时,我收到了3次android.net.conn.CONNECTIVITY_CHANGE的广播 在onReceive()中,我使用下面的代码判断Wifi是否已连接。但我也收到了3次“Wifi已连接”的消息,doSomething()被调用了3次Android 当网络从GPRS切换到Wifi时接收3次广播,android,Android,当网络从GPRS切换到Wifi时,我收到了3次android.net.conn.CONNECTIVITY_CHANGE的广播 在onReceive()中,我使用下面的代码判断Wifi是否已连接。但我也收到了3次“Wifi已连接”的消息,doSomething()被调用了3次 ConnectivityManager connManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); N
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();
}
我只想收到一条“Wifi已连接”的消息,并且只需调用doSomething()一次。
我该怎么办
多谢各位。对不起,我的英语很差。创建一个布尔标志值,用于检查消息 如果您想从其他网站访问它,请将其设置为静态 乙二醇 给药后();您可以再次将标志的值更改为false
ClassName.flagConnected = false;
在Receiver类中声明一个整数变量 公共静态int i=0 并将代码置于此条件下
if((++i)%3==1){
//your whole stuff here..
}
我想您可能忘记在onPause/onStop中注销您的广播接收器 好的…但不总是三次…谢谢。但我想永远收到广播…谢谢。
if((++i)%3==1){
//your whole stuff here..
}