NetworkInfo ist seit API29 </ font> veraltet. Der Text verwendet NetworkInfo, daher habe ich nach einer Alternative gesucht. Es dauerte so lange, dass ich vergaß, wer ich war, Android, PHP, Laravel oder was auch immer.
Lesen Sie in der Referenz übrigens ** ConnectivityManager.NetworkCallback API ** sorgfältig durch und berücksichtigen Sie ** ConnectivityManager # getNetworkCapabilities </ font> ** oder ConnectivityManager # getLinkProperties! Es scheint, dass ** getNetworkCapabilities </ font> ** in Ordnung ist?
ConnectivityManager.getNetworkCapabilities
python
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Holen Sie sich den Klassenobjekt-Manager, der den Verbindungsstatus des Netzwerks informiert!
//Holen Sie sich das aktuell verbundene Netzwerkobjekt standardmäßig mit getActiveNetwork!
//Funktionen Sie können verschiedene Verbindungsinformationen wie drahtlose Verbindungspunkte, Carrier-Dienste in Bezug auf Verbindungen und Kommunikationsverbindungstypen überprüfen!
ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
Network network = manager.getActiveNetwork();
NetworkCapabilities capabilities = manager.getNetworkCapabilities(network);
//wenn es wifi ist
if(capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)){
Log.d("TRANSPORT","WIFI");
}
//Wenn es sich um mobile Kommunikation handelt
if(capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)){
Log.d("TRANSPORT","CELLULAER");
}
Log.d("TRANSPORT", String.valueOf(capabilities));
}
}
Die Statuskonstanten (z. B. "NetworkCapabilities.TRANSORT_CELLULAR"), die Sie für die Internetverbindung überprüfen möchten, sind
https://developer.android.com/reference/android/net/NetworkCapabilities.html#TRANSPORT_WIFI
Recommended Posts