Mostrando postagens com marcador conexao. Mostrar todas as postagens
Mostrando postagens com marcador conexao. Mostrar todas as postagens

domingo, 17 de julho de 2011

Verificar conexão de internet

Olá,

Segue mais uma pílula para aumentar a qualidade de seus aplicativos, hoje vou mostrar como verificar se existe ou não conexão com a internet, abaixo segue o fonte.

Arquivo Hello.java
package br.com.empresa;

import android.app.Activity;
import android.content.Context;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.Toast;

public class Hello extends Activity{

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.main);

        if (TemConexao()){
            trace("tem conexão.");
        }else{
            trace("sem conexão.");
        }
    }

    private boolean TemConexao() { 
        boolean lblnRet = false;
        try
        {
            ConnectivityManager cm = (ConnectivityManager)
            getSystemService(Context.CONNECTIVITY_SERVICE); 
            if (cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isAvailable() && cm.getActiveNetworkInfo().isConnected()) { 
                lblnRet = true; 
            } else { 
                lblnRet = false; 
            }
        }catch (Exception e) {
            trace(e.getMessage());
        }
        return lblnRet;
    }

    public void toast (String msg){
        Toast.makeText (getApplicationContext(), msg, Toast.LENGTH_SHORT).show ();
    } 
 
    private void trace (String msg){
        Log.d ("teste", msg);
        toast (msg);
    } 
}

Arquivo AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="br.com.empresa"
    android:versionCode="1"
    android:versionName="1.0">

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".Hello"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
    </application>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
</manifest>

Não se esqueça de modificar o arquivo de manifest para adicionar a permissão access_network_state.

Desenv com qualidade!