domingo, 1 de maio de 2011

Conexão 3G no Android

Olá povo,

Meu aluno Rafael Cavalcanti me perguntou como saber o tipo de conexão (Wi-Fi ou 3G) que o aparelho Android está utilizando. O código é bem simples, basta utilizar a classe ConnectivityManager que é um serviço do sistema que provê informações sobre as conexões do aparelho.


ConnectivityManager connec = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);

android.net.NetworkInfo wifi =
connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile =
connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

String s = "Conexão: ";
if (wifi.isConnected()) {
s += "Wi-Fi";
} else if (mobile.isConnected()) {
s += "3G";
} else {
s += "Nenhuma";
}
Toast.makeText(this, s, Toast.LENGTH_LONG).show();
Adicione a permissão android.permission.ACCESS_NETWORK_STATE no seu arquivo AndroidManifest.xml conforme abaixo.

<uses-permission
android:name="android.permission.ACCESS_NETWORK_STATE"/>

Outra pergunta de Rafael foi como desabilitar, via código, a conexão 3G. Para conseguir isso, dei uma investigada no código fonte do projeto ApnDroid. E fiz um pequeno exemplo QUE USA O CÓDIGO DESSA FERRAMENTA. Para baixa-lo, clique aqui.

4br4ç05,
nglauber

2 comentários:

Wagner Sanches Gonçalves disse...

Muito Legal. Parabéns!!!
Você sabe como fazer com o GPS?

Nelson Glauber de Vasconcelos Leal disse...

Oi Wagner,

A resposta tá aqui:
http://nglauber.blogspot.com.br/2011/09/android-dicas-4.html

4br4ç05,
nglauber