【发布时间】:2017-07-17 12:11:32
【问题描述】:
我正在尝试在我的手机连接到新的 Wifi 网络时收到通知。
这是我BroadcastReceiver的逻辑:
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ConnectivityManager.CONNECTIVITY_ACTION)) {
Bundle extras = intent.getExtras();
if (extras != null) {
for (String key : extras.keySet()) {
if(key.equals("networkInfo")){
NetworkInfo info = (NetworkInfo) extras.get(key);
if(info.getType() == ConnectivityManager.TYPE_WIFI){
if(info.getState().toString().equals("CONNECTED")){
//do stuff
}
}
}
}
}
}
}
当我打开 Wifi 并连接到新网络时,这可以正常工作。但我的问题是,当我已经连接到 Wifi 网络然后再连接到另一个网络时,什么也没有发生。
为了实现这一点,我应该添加到我的IntentFilter 中的正确Actoin 是什么?
编辑
此代码运行良好。问题是 WifiReceiver 被取消注册。
【问题讨论】:
标签: android networking