Android comprobar la conexión a Internet
Última actualización: 10 de enero de 2013
En este tutorial, aprenderá cómo verificar el estado de la conectividad a Internet antes de ejecutar su aplicación de Android. El uso de Android ConnectivityManager permite al usuario detectar el estado de conexión de la red. Crearemos una aplicación que realizará una verificación del estado de la conexión a Internet de dos niveles. El primer nivel verifica el estado de la conexión a Internet cuando se inicia la aplicación y el segundo nivel verifica cuando el usuario hace clic en un botón. Si la conexión a Internet no existe, se mostrará un cuadro de diálogo con un botón de reintento y al hacer clic en el botón de reintento se volverá a verificar el estado de la conexión a Internet.
Cree un nuevo proyecto en Eclipse File > New > Android Application Project. Complete los detalles y nombre su proyecto CheckInternetConnection.
Nombre de la aplicación: CheckInternetConnection
Nombre del proyecto: CheckInternetConnection
Nombre del paquete: com.androidbegin. comprobar conexión a internet
Luego nombre su actividad CheckInternetConnection .java
Abra su CheckInternetConnection .java y pegue el siguiente código.
Comprobar conexión a Internet .java
paquete com.androidbegin.checkinternetconnection; importar android.net.ConnectivityManager; importar android.net.NetworkInfo; importar android.net.Uri; importar android.os.Bundle; importar android.app.Actividad; importar android.app.AlertDialog; importar android.content.Context; importar android.content.DialogInterface; importar android.content.Intent; importar android.view.View; importar android.view.View.OnClickListener; importar android.widget.Button; la clase pública CheckInternetConnection extiende la actividad { // Declarar un botón Botón visitabtn; @Anular public void onCreate (Paquete guardadoInstanceState) { super.onCreate(estadoDeInstanciaGuardado); setContentView(R.layout.check_internet_connection); // Llamar a la clase isNetworkAvailable si (! es una red disponible ()) { // Crear un cuadro de diálogo de alerta AlertDialog.Builder builder = new AlertDialog.Builder(this); // Establecer el mensaje de diálogo de alerta builder.setMessage("Se requiere conexión a Internet") .setCancelable(falso) .setPositiveButton("Reintentar", nueva DialogInterface.OnClickListener() { public void onClick (diálogo de interfaz de diálogo, identificación interna) { // Reiniciar la actividad Intención intención = getIntent(); terminar(); iniciarActividad(intención); } }); AlertDialog alerta = builder.create(); alerta.mostrar(); } más { // Localice el botón en check_internet_connection.xml visitbtn = (Botón) findViewById(R.id.visit); // Establecer la visibilidad del botón visitbtn.setVisibility(Ver.VISIBLE); // Hacer clic en el botón de captura visitbtn.setOnClickListener(nuevo OnClickListener() { public void onClick (Ver arg0) { // Vuelva a comprobar la conexión de red si (! es una red disponible ()) { AlertDialog.Builder constructor = new AlertDialog.Builder( CheckInternetConnection.this); builder.setMessage("Se requiere conexión a Internet") .setCancelable(falso) .setPositiveButton("Reintentar", nueva DialogInterface.OnClickListener() { vacío público al hacer clic ( Diálogo de interfaz de diálogo, identificación interna) { visitbtn.setVisibility(View.GONE); // Reiniciar la actividad Intención intención = nueva intención ( VerificarConexiónInternet.esto, ComprobarConexiónInternet.clase); terminar(); iniciarActividad(intención); } }); AlertDialog alerta = builder.create(); alerta.mostrar(); } más { // Abrir el navegador de Android Intención intención = nueva intención (Intent.ACTION_VIEW, Uri .parse("http://www.AndroidBegin.com")); iniciarActividad(intención); } } }); } } // Clase privada isNetworkAvailable booleano privado isNetworkAvailable() { // Uso de ConnectivityManager para verificar la conexión de red ConnectivityManager connectionsManager = (ConnectivityManager) este .getSystemService(Context.CONECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = administrador de conectividad .getActiveNetworkInfo(); volver activeNetworkInfo != nulo; } }
Esta actividad busca una conexión a Internet antes de que se inicie la aplicación de Android. Hemos creado una clase privada «isNetworkAvailable()» a la que se puede llamar desde cualquier lugar dentro de su actividad para verificar el estado de la conexión a Internet mediante ConnectivityManager . Si la conexión a Internet o la conexión de red no existe, mostraremos un cuadro de diálogo al usuario para que vuelva a verificar el estado de la conexión a Internet.
A continuación, cree un archivo XML para su diseño gráfico. Vaya a res > diseño > Haga clic con el botón derecho en el diseño > Nuevo > Archivo XML de Android
Nombre su nuevo archivo XML check_internet_connection.xml y pegue el siguiente código.
check_internet_connection.xml
<RelativeLayout xmlns_android="http://schemas.android.com/apk/res/android" xmlns_herramientas="http://esquemas.android.com/herramientas" android_layout_width="match_parent" android_layout_height="match_parent" > <Botón android_id="@+id/visita" android_layout_width="wrap_content" android_layout_height="wrap_content" android_layout_centerHorizontal="verdadero" android_layout_centerVertical="verdadero" android_text="@cadena/visita" android_visibilidad="desaparecido" /> </RelativeLayout>
Producción:
A continuación, cambie el texto del botón en strings.xml . Abra su strings.xml y pegue el siguiente código. Vaya a res > valores > cadenas.xml
cadenas.xml
<recursos> <string name="app_name">Consultar tutorial de conexión a Internet</string> <string name="menu_settings">Configuración</string> <string name="visit">Visite AndroidBegin.com</string> </recursos>
En su AndroidManifest.xml , debemos declarar permisos para permitir que la aplicación acceda a Internet y verifique el estado de la conexión de red. Abra su AndroidManifest.xml y pegue el siguiente código.
AndroidManifest.xml
<manifiesto xmlns_android="http://schemas.android.com/apk/res/android" paquete="com.androidbegin.checkinternetconnection" android_versionCode="1" android_versionName="1.0" > <usos-sdk android_minSdkVersion="8" android_targetSdkVersion="15" /> <usos-permiso android_name="android.permiso.INTERNET" /> <usos-permiso android_name="android.permission.ACCESS_NETWORK_STATE" /> <aplicación android_icono="@dibujable/ic_launcher" android_etiqueta="@cadena/nombre_aplicación" android_tema="@estilo/AppTheme" > <actividad android_name=".CheckInternetConnection" > <intent-filter> <acción android_name="android.intent.action.MAIN" /> <categoría android_name="android.intent.category.LAUNCHER" /> </intent-filter> </actividad> </aplicación> </manifiesto>
Producción :
Código fuente
[purchase_link id=”7846″ text=”Comprar para descargar el código fuente” style=”button” color=”green”]