问题:
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关闭掉,第

在Android中,当网络状态改变时,BroadcastReceiver可能会接收到多次广播。为了解决网络切换时的重复提醒问题,可以在`onReceive()`方法中判断当前网络连接类型是否与上一次相同。如果不同,则忽略广播,只在状态变化时提醒用户。通过比较`ConnectivityManager.EXTRA_NETWORK_INFO`的`State`和`getType()`,可以过滤掉不必要的广播。
1万+

被折叠的 条评论
为什么被折叠?



