Inicio » Blog »

13 noviembre, 2025

Abrir url con el evento click de un botón

Para abrir un enlace o link de página web usamos la clase Uri y un Intent después de dar permisos a la aplicación Android para acceder a internet.

Suscríbete a nuestro canal en Youtube

Suscríbirse

Cómo crear un botón para lanzar un enlace web en Android Java

Para agregar un botón en tu app Android (en Java) que abra un enlace web en el navegador predeterminado del dispositivo, sigue estos pasos. Usaré un ejemplo simple en MainActivity. Asumiré que ya tienes un proyecto básico configurado.

Las aplicaciones en ocasiones deben lanzar o cargar un enlace externo a una web, red social, etc.  para ello debemos implementar:

 

EJEMPLO I.- Pasos para crear un botón para cargar una página web mediante una url

Pasos para crear un botón para cargar una página web mediante una url:

  • Paso N°1.- Permisos de internet en el manifest de nuestra app
  • Paso N°2.- En ocasiones es necesario indicar esta propiedad en el manifest : android:usesCleartextTraffic="true"
  • Paso N°3.- Crear un boton en el XML de la Layout de la Actividad
  • Paso N°4.- Instanciar el botón y darle interactividad con la implementación de un Intent, aplicando el link web

En este ejemplo Android Studio usando el Lenguaje JAVA; vamos a cargar en el navegador el link de Codea que es  https://codea.app para ello en la actividad creamos un String url que guardará la cadena de texto del link; tambien creamos un botón que al cual denominamos btnlink; dentro del evento click del botón integramos el intent que lanzará  la carga del link, en el navegador que por defecto tenga Android se vizualizará el contenido de la página web.

EJEMPLO I.- Pasos para crear un botón para cargar una página web mediante una url

EJEMPLO I.- Pasos para crear un botón para cargar una página web mediante una url

Configuración en AndroidManifest.xml

En el AndroidManifest.xml de tu app, estos dos son clave para que un botón abra un link web sin problemas. Te lo explico fácil, como si fueras nuevo:

  1. Permiso para acceder a Internet uses-permission android:name="android.permission.INTERNET:
    • Qué es: Un "permiso" que le dice a Android: "Oye, mi app necesita internet para cargar páginas web".
    • Por qué lo necesitas: Sin él, el navegador no puede descargar el sitio (ej. Google). Es como pedirle al teléfono que use WiFi o datos.
    • Dónde va: Al inicio del archivo, fuera de .
    • Ejemplo simple: Imagina que es la llave para abrir la puerta del internet. Sin llave, el botón no funciona.
  2. y además android:usesCleartextTraffic="true" (dentro de ):
    • Qué es: Un "switch" que permite enlaces HTTP (no seguros, sin "https://"). Android lo bloquea por defecto desde 2019 para evitar hacks.
    • Por qué lo necesitas: Si tu link es "http://" (no "https://"), la página no carga y sale error. Con "true", sí carga.
    • Dónde va: Dentro de la etiqueta , como un atributo extra.
    • Ejemplo simple: Es como permitir "puertas traseras" no blindadas. Úsalo solo si no tienes HTTPS (mejor usa HTTPS para seguridad).

Resumen rápido: INTERNET = permiso para usar red. Cleartext = permiso para sitios "baratos" (HTTP). Juntos, tu botón abre cualquier web. Si usas solo HTTPS, quita el segundo. ¡Prueba y verás! 😊

Configuración en  AndroidManifest.xml

Configuración en AndroidManifest.xml

Veamos la implementación del código para abrir un enlace en Android desde un botón

Código Java para abrir un link con Android Studio

Código Java para abrir un link con Android Studio

Este XML es el "dibujo" de tu pantalla en Android. Solo tiene un botón centrado que dice "Visitar Web". Aquí va lo esencial:

  • Caja principal (<ConstraintLayout>): Llena toda la pantalla. Es como un lienzo donde pones cosas.
    • IDs y espacios: Solo para que Android entienda (no toques si no sabes).
  • El botón (<Button>):
    • id="@+id/btnLink": Su "nombre" para usarlo en Java (ej. findViewById(R.id.btnLink)).
    • text="Visitar Web": Lo que se ve en el botón.
    • wrap_content: Tamaño automático (no grande ni chico).
    • Las 4 líneas de app:layout_constraint...: Lo centran en la pantalla (arriba/abajo/izq/der pegado al borde de la caja).

Resultado: Un botón en el medio de la pantalla. En Java, lo tocas y ¡abre el link!

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/btnLink"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Visitar Web"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>
El botón XML para abrir un link con Android Studio

El botón XML para abrir un link con Android Studio

Creando un función openLink() que encapsula la funcionalidad y funciona de la misma manera, donde pasamos como parámetro un string que contiene la URL.

package codea.app.link;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    private Button btnLink;
    private String url;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnLink = findViewById(R.id.btnLink);
        url = "https://codea.app";

        btnLink.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                openLink(url);
            }
        });

    }
    private void openLink(String _url){

        Uri uri = Uri.parse(_url);
        Intent intent = new Intent(Intent.ACTION_VIEW,uri);
        startActivity(intent);

    }
}
EJEMPLO II .- Otra manera de lanzar un link con una FUNCTION

EJEMPLO II .- Otra manera de lanzar un link con una FUNCTION

Explicación paso a paso

Definición de la interfaz

En el onCreate(), se obtiene una referencia al botón btnLink definido en el layout (activity_main.xml) y se asigna la URL que queremos abrir:

url = "https://codea.app"; 

Asignación del evento onClick

Se establece un listener al botón para que, al hacer clic, se llame al método openLink(url):

btnLink.setOnClickListener(new View.OnClickListener() { 
@Override public void onClick(View view) { 
openLink(url); 
} 
}); 

Esto separa claramente la interfaz (el clic) de la acción (abrir el enlace).


Función openLink()

Aquí es donde ocurre la “magia”:

private void openLink(String _url) { 
Uri uri = Uri.parse(_url); 
Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
startActivity(intent); 
} 
  • Uri.parse(_url) convierte el texto del enlace en un objeto Uri.

  • Intent.ACTION_VIEW le dice al sistema Android: “abre este enlace con la app que corresponda” (normalmente el navegador).

  • startActivity(intent) lanza esa acción.

En resumen, esta función encapsula toda la lógica necesaria para abrir cualquier enlace web desde tu app.


Ventaja de encapsularlo

Encapsular la funcionalidad en una función como openLink() permite:

  • Reutilizar la misma lógica desde varios botones o pantallas.

  • Evitar repetir código en distintos listeners.

  • Mejorar la legibilidad y el mantenimiento del proyecto.

Por ejemplo, podrías usarla así:

openLink("https://google.com"); openLink("https://github.com/codea"); 

sin necesidad de duplicar la lógica del Intent.


Resultado final

Cuando el usuario toca el botón, la aplicación abre el navegador predeterminado y muestra la URL definida (https://codea.app en este caso).

Explicación paso a paso

Explicación paso a paso


Leido 38830 veces | 13 usuarios

Descarga del código fuente Android de Abrir url con el evento click de un botón

Accede al código fuente esencial de nuestra aplicación en formato ZIP ó TXT. Ideal para desarrolladores que desean personalizar o integrar nuestra solución.

Opciones de descarga

  • Usuarios Registrados: Inicia sesión para descarga inmediata.
  • Nuevos Usuarios: Regístrate y descarga.

176 descargas

Para descargar el código inicia sesión o crea una cuenta

Iniciar Sesión

Compartir link del tutorial con tus amigos

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú