ConnectivityManager.CONNECTIVITY_ACTION Netzwerk wird von API = 14 diskontiert?

7

Ich muss das Netzwerk von welchem ​​Gerät getrennt bekommen.

Jetzt benutze ich:

%Vor%

Und überprüfen Sie:

%Vor%

Wenn dies false zurückgibt ni - ist das Netzwerk, von dem das Gerät getrennt wurde.

Aber ConnectivityManager.EXTRA_NETWORK_INFO ist in API 14 veraltet . Google sagt getActiveNetworkInfo (), um Netzwerkinformationen zu erhalten. Aber getActiveNetworkInfo () gibt immer ein Netzwerk zurück, mit dem das Gerät jetzt verbunden ist ( isConnected() muss true zurückgeben)!

Wie erhalte ich die Netzwerkinformationen für das Netzwerk, von dem das Gerät getrennt wurde, ohne ConnectivityManager.EXTRA_NETWORK_INFO zu verwenden?

Sertorio Noronha, wenn ich getActiveNetworkInfo () verwende, bekomme ich nur das Netzwerk, mit dem ich jetzt verbunden bin! Aber ich muss das Netzwerk bekommen, von dem ich getrennt wurde.

%Vor%

Wenn ich vom WI-FI abkopple und mich im Log mit 3G verbinde:

%Vor%

Wenn ich von 3G abkopple und mich mit WI-FI im Protokoll verbinde:

%Vor%

getActiveNetworkInfo gibt nur das Netzwerk zurück, mit dem ich jetzt verbunden bin, gibt aber nicht das Netzwerk zurück, von dem ich getrennt wurde.

Wenn ich veraltete intent.getParcelableExtra (ConnectivityManager.EXTRA_NETWORK_INFO) im Protokoll verwende, sehe ich:

Wenn ich vom WI-FI abkopple und mich mit 3G verbinde:

%Vor%

Wenn ich von 3G abkopple und eine Verbindung zu WI-FI herstelle:

%Vor%

Aber ich möchte nicht veraltetes API verwenden. Wie benutzt man moderne API um Netzwerk zu bekommen, von dem ich getrennt wurde?

    
Nik 08.11.2012, 16:26
quelle

3 Antworten

11

Sie können Folgendes verwenden

%Vor%     
AGK 15.12.2013 01:07
quelle
6

Sie können die Instanz von NetworkInfo über den Kontext abrufen.

%Vor%     
Sertorio Noronha 22.02.2013 11:55
quelle
6

Nicht veralteten Code verwenden

%Vor%

Und im Manifest

%Vor%

und

%Vor%     
Vinayak 08.08.2014 13:00
quelle