Vous peut démarrer une connexion wifi si vous donnez à l'utilisateur le choix d'ignorer le comportement normal qui consiste à demander à chaque fois.
J'ai choisi d'utiliser trois méthodes...
public boolean isOnline()
{
ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
return (networkInfo != null && networkInfo.isConnected());
}
Cette fonction permet de vérifier rapidement s'il y a une connexion internet, que ce soit par Wifi ou par CellData. À partir de là, vous pouvez choisir l'action que vous souhaitez entreprendre. Il faut également vérifier si l'appareil est en mode avion.
Sur un autre sujet. J'ai mis une variable IpAddress à = " ". Et j'interroge jusqu'à ce que j'obtienne une adresse IP valide.
WifiManager wifi;
wifi = (WifiManager) this.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifi.getConnectionInfo();
int ipAddress = wifiInfo.getIpAddress();
String ip = null;
ip = String.format("%d.%d.%d.%d",
(ipAddress & 0xff),
(ipAddress >> 8 & 0xff),
(ipAddress >> 16 & 0xff),
(ipAddress >> 24 & 0xff));
Log.e(" >>IP number Begin ",ip);
Un autre extrait de code... Si elle n'est pas activée, activez-la (avec l'autorisation préalable de l'utilisateur)
if(wifi.isWifiEnabled()!=true)wifi.setWifiEnabled(true);
0 votes
J'ai trouvé ici des réponses à certaines parties de cette question : stackoverflow.com/questions/4238921/
1 votes
Mais la question se pose toujours de savoir QUAND vérifier ces conditions ?
1 votes
J'aimerais savoir s'il y a des émissions qui seront captées par un récepteur de radiodiffusion ?
1 votes
Comment puis-je faire cela sur Android O car les récepteurs de diffusion implicites comme Android.net.wifi.STATE_CHANGE ne seront plus autorisés à être enregistrés dans le manifeste (voir developer.Android.com/guide/components/ ). Si nous l'enregistrons dans l'activité de l'application (disons onCreate), il devra être désenregistré dans onStop(), et nous ne recevrons plus d'événements liés au wifi.