ConnectivityManager.CONNECTIVITY_ACTION bekommen Netzwerk disconected von API >= 14?
Ich brauche, um das Netz von dem Gerät getrennt wurde.
Nun benutze ich:
NetworkInfo ni =intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
Und prüfen:
ni.isConnected()
wenn das false zurückgibt, ni - ist das Netzwerk aus, das das Gerät getrennt wurde.
Aber ConnectivityManager.EXTRA_NETWORK_INFO
ist veraltet in der API-14. Google sagt, verwenden getActiveNetworkInfo (), um Netzwerk-Informationen. Aber getActiveNetworkInfo() gibt immer Netz, mit dem das Gerät verbunden ist, jetzt (isConnected()
muss true zurückgeben)!
Wie bekomme ich die Netzwerk-Informationen für die Netzwerk-Gerät getrennt wird, ohne mit ConnectivityManager.EXTRA_NETWORK_INFO?
Sertorio Noronha, wenn ich getActiveNetworkInfo() erhalte ich nur das Netzwerk mit dem ich verbunden bin, jetzt! Aber ich brauche, um das Netzwerk, von dem ich getrennt wurde.
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo n1 = cm.getActiveNetworkInfo();
Log.d("tets", String.format("%s: %s", n1.getTypeName(), n1.isConnected()));
Wenn ich die Verbindung vom WI-FI und eine Verbindung zu 3G in der log:
mobile: true
mobile: true
Wenn ich die Verbindung von 3G und die Verbindung zum WI-FI log-in:
WIFI: true
WIFI: true
WIFI: true
getActiveNetworkInfo gibt nur das Netzwerk angeschlossen jetzt, aber nicht das Netzwerk, von dem ich getrennt wurde.
Wenn ich veraltet Absicht.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO) im log sehe ich:
Wenn ich die Verbindung vom WI-FI und eine Verbindung zu 3G:
WIFI: false
mobile: true
Wenn ich die Verbindung von 3G und eine Verbindung zu WI-FI:
mobile: false
WIFI: true
Möchte ich aber nicht verwenden deprecated api. Wie nutzen Sie die moderne api zum abrufen von Netzwerk, von dem ich getrennt wurde?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die folgenden
Können Sie die Instanz des NetworkInfo-durch den Kontext.
Nicht veraltet code
Und im manifest
und
android.net.conn.CONNECTIVITY_CHANGE
ist veraltet Android-N - FYI