NetworkInfo est obsolète depuis l'API29 </ font>. Le texte utilise NetworkInfo, j'ai donc cherché une alternative. Cela a pris tellement de temps que j'ai oublié qui j'étais, Android, PHP, Laravel ou autre.
À propos, dans la référence, lisez attentivement ** ConnectivityManager.NetworkCallback API ** et considérez ** ConnectivityManager # getNetworkCapabilities </ font> ** ou ConnectivityManager # getLinkProperties! Il semble que ** getNetworkCapabilities </ font> ** est bien?
ConnectivityManager.getNetworkCapabilities
python
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Obtenez le gestionnaire d'objets de classe qui informe l'état de la connexion du réseau!
//Obtenez l'objet réseau actuellement connecté par défaut avec getActiveNetwork!
//capacités Vous pouvez vérifier diverses informations de connexion telles que les points de connexion sans fil, les services de l'opérateur liés aux connexions et les types de connexion de communication!
ConnectivityManager manager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
Network network = manager.getActiveNetwork();
NetworkCapabilities capabilities = manager.getNetworkCapabilities(network);
//si c'est le wifi
if(capabilities.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)){
Log.d("TRANSPORT","WIFI");
}
//S'il s'agit de communication mobile
if(capabilities.hasTransport(NetworkCapabilities.TRANSPORT_CELLULAR)){
Log.d("TRANSPORT","CELLULAER");
}
Log.d("TRANSPORT", String.valueOf(capabilities));
}
}
Les constantes d'état (telles que NetworkCapabilities.TRANSORT_CELLULAR
) que vous souhaitez vérifier sur la connexion Internet sont
https://developer.android.com/reference/android/net/NetworkCapabilities.html#TRANSPORT_WIFI
Recommended Posts