Você pode iniciar uma conexão wifi se der ao usuário a opção de substituir o comportamento normal de perguntar a cada vez.
Eu escolho usar três métodos ...
public boolean isOnline()
{
ConnectivityManager connMgr = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();
return (networkInfo != null && networkInfo.isConnected());
}
Esta é uma verificação rápida, se houver uma conexão à Internet, Wifi ou CellData. A partir daqui, você pode escolher qual ação deseja executar. É no modo avião também precisa ser verificado.
Em um segmento separado. Defino uma variável IpAddress como = "" E sigo até que eu tenha um endereço IP válido.
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);
Outro trecho de código ... Se não estiver ativado, ative-o (com permissão prévia dos usuários)
if(wifi.isWifiEnabled()!=true)wifi.setWifiEnabled(true);