Я хочу определить, изменилось ли мое Wi-Fi-соединение (если оно изменилось на сотовый или другой Wi-Fi, но не тот же) после того, как я вернулся в приложение из фона.Есть какой-либо способ сделать это?Я попробовал приведенный ниже код, но он не работает, он продолжает срабатывать каждый раз, когда я возвращаюсь в приложение, даже если тот же Wi-Fi остается подключенным.
IntentFilter networkIntent = new IntentFilter();
networkIntent.addAction("android.net.conn.CONNECTIVITY_CHANGE");
networkIntent.addAction(WifiManager.SUPPLICANT_CONNECTION_CHANGE_ACTION);
registerReceiver(wifichangereceiver, networkIntent);
Ниже мой приемник:
public final BroadcastReceiver wifichangereceiver = new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
final ConnectivityManager connMgr = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (wifi.isConnected()) {
hasWifiChanged = true;
} else {
hasWifiChanged = false;
}
}