Abrir un enlace web en el navegador por defecto Android Kotlin


En una aplicación de Android, puede ser necesario abrir una URL por separado en un navegador.

Estos apuntes muestra cómo puede abrir una URL mediante kotlin, el enlace web será abierto en el buscador web integrado. Esto permite que su aplicación abra una página web sin necesidad de incluir el permiso de INTERNET en su archivo de manifiesto.

Función openWebPage

Con la siguiente función kotlin podrá abrir un enlace web des de un dispositivo Android

fun openWebPage(context: Context, urlStr: String?) {
    try {
        val intent = Intent(Intent.ACTION_VIEW)
        intent.data = Uri.parse(urlStr)
        if (intent.resolveActivity(context.packageManager) != null) {
            ContextCompat.startActivity(context, intent,null)
        } else {
            Toast.makeText(context, "Need a web browser app", Toast.LENGTH_SHORT).show()
        }
    } catch (e: Exception) {
        e.printStackTrace()
    }
}

Su uso es muy simple solo debe pasar un contexto y la dirección web, si en el dispositivo android hay un navegador instalado abrirá el recurso web en él.

//from Activity
openWebPage( this , "https://codelaby.es" )

//from Fragment
openWebPage( requireContext() , "https://codelaby.es" )

Usando funciones de extensión

Otra forma es usando extensiones de función Kotlin

fun Uri?.openInBrowser(context: Context) {
    this ?: return // Do nothing if uri is null
    val browserIntent = Intent(Intent.ACTION_VIEW, this)
    if (browserIntent.resolveActivity(context.packageManager) != null) {
        ContextCompat.startActivity(context, browserIntent, null)
    } else {
        return
    }
}

fun String?.asUri(): Uri? {
    return try {
        Uri.parse(this)
    } catch (e: Exception) {
        null
    }
}

Su uso es el siguiente

"https://codelaby.es".asUri()?.openInBrowser(requireContext())
Anuncio publicitario

Publicado por Codelaby

Mobile DevDesigner

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: