Ich habe ein Manifest registriert BroadcastReceiver, die ich zur Überwachung von WiFi-Verbindungen verwende. Ich erhalte jedes Mal eine Verbindung, wenn das Gerät nach WiFi sucht. Ich brauche einen Weg, um festzustellen, ob die Übertragung ein Ergebnis des Scannens nach WiFi war oder ob das Gerät tatsächlich von einem Netzwerk getrennt war.Wie bekomme ich den Grund für die WiFi-Verbindung trennen
public class WifiReceiver extends BroadcastReceiver {
@Override
public void onReceive(final Context context, Intent intent) {
if(!intent.getAction().equals("android.net.wifi.STATE_CHANGE"))
return;
NetworkInfo networkInfo = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if (networkInfo != null) {
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
if(networkInfo.getDetailedState() == CONNECTED || networkInfo.getDetailedState() == DISCONNECTED)
PresenceData.loadData(context);
if(networkInfo.getDetailedState() == CONNECTED) {
System.out.println("Wifi connected");
PresenceData.sendNotification("Wifi Connected", "You are now connected to " + PresenceData.getCurrentWifiSSID(context), context);
PresenceData.submitChanges(context);
} else if(networkInfo.getDetailedState() == DISCONNECTED) {
System.out.println("Wifi Disconnected");
PresenceData.sendNotification("Wifi Disconnected", "Your wifi has disconnected", context);
UpdaterService.scheduleUpdate(context);
}
}
}
}
}
uns zeigen, welchen Code Sie –
Ok haben, hinzugefügt es einfach –