Programación móvil

Las Intenciones en Android con Jetpack Compose

Aprende a utilizar las intenciones en Android para navegar entre pantallas y realizar acciones específicas utilizando Jetpack Compose.

En Android, las intenciones (Intents) son una herramienta fundamental para la navegación entre pantallas y la realización de acciones específicas. Con Jetpack Compose, puedes utilizar las intenciones de manera sencilla para crear una experiencia de usuario fluida y dinámica. A continuación, te mostraré cómo utilizar las intenciones en Android con Jetpack Compose.

¿Qué es una Intención?

Una intención es un objeto que representa una acción que deseas realizar, como abrir una nueva pantalla, enviar un mensaje o iniciar una actividad. Las intenciones pueden ser explícitas, donde especificas la clase de destino, o implícitas, donde el sistema determina qué aplicación puede manejar la acción.

Para navegar entre pantallas utilizando intenciones en Jetpack Compose, puedes utilizar la función startActivity dentro de un evento de clic. Aquí tienes un ejemplo básico:

@Composable
fun MainScreen() {
    val context = LocalContext.current
    Button(onClick = {
        val intent = Intent(context, SecondScreen::class.java)
        context.startActivity(intent)
    }) {
        Text("Ir a la Segunda Pantalla")
    }
}

En este ejemplo, hemos creado un botón que, al hacer clic, crea una intención explícita para abrir la SecondScreen. Asegúrate de que la SecondScreen esté definida en tu proyecto y registrada en el archivo AndroidManifest.xml.

Enviar Datos entre Pantallas con Intenciones

Puedes enviar datos entre pantallas utilizando intenciones. Para hacerlo, puedes agregar datos a la intención utilizando el método putExtra. Aquí tienes un ejemplo:

@Composable
fun MainScreen() {
    val context = LocalContext.current
    Button(onClick = {
        val intent = Intent(context, SecondScreen::class.java)
        intent.putExtra("EXTRA_MESSAGE", "¡Hola desde la MainScreen!")
        context.startActivity(intent)
    }) {    
        Text("Enviar Mensaje a la Segunda Pantalla")
    }
}

En este ejemplo, hemos agregado un mensaje a la intención utilizando putExtra. En la SecondScreen, puedes recuperar este mensaje utilizando el método getStringExtra:

@Composable
fun SecondScreen() {
    val context = LocalContext.current
    val message = context.intent.getStringExtra("EXTRA_MESSAGE") ?: "No se recibió ningún mensaje"
    Text(message)
}

En este ejemplo, hemos recuperado el mensaje enviado desde la MainScreen y lo mostramos en la SecondScreen. Si no se recibió ningún mensaje, se mostrará un mensaje predeterminado.

Realizar Acciones Específicas con Intenciones Implícitas

Las intenciones implícitas permiten realizar acciones específicas sin especificar una clase de destino. Por ejemplo, puedes abrir un navegador web utilizando una intención implícita:

@Composable
fun OpenBrowserButton() {
    val context = LocalContext.current
    Button(onClick = {
        val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://www.google.com"))
        context.startActivity(intent)
    }) {
        Text("Abrir Navegador")
    }
}

En este ejemplo, hemos creado una intención implícita para abrir el navegador web con la URL especificada. El sistema determinará qué aplicación puede manejar esta acción y abrirá el navegador predeterminado del usuario.

Conclusión

Las intenciones son una herramienta poderosa en Android para navegar entre pantallas y realizar acciones específicas. Con Jetpack Compose, puedes utilizar las intenciones de manera sencilla para crear una experiencia de usuario fluida y dinámica. Ya sea que estés navegando entre pantallas o realizando acciones específicas, las intenciones te permiten construir aplicaciones Android más interactivas y funcionales. Asegúrate de explorar más sobre las intenciones y cómo pueden mejorar la navegación y la funcionalidad de tus aplicaciones Android con Jetpack Compose.

Copyright Jesús Aurelio Castro Magaña © 2026