with studio page open link intent from chrome app android android-intent

android - studio - Enviar una intención al navegador para abrir una URL específica



open link in app android (10)

Esta pregunta ya tiene una respuesta aquí:

Solo me pregunto cómo activar una Intención en el navegador del teléfono para abrir una URL específica y mostrarla.

¿Alguien por favor me puede dar una pista?


"¿También hay una forma de pasar coords directamente a google maps para mostrar?"

Descubrí que si paso una URL que contiene las coords al navegador, Android me pregunta si quiero el navegador o la aplicación Maps, siempre que el usuario no haya elegido el navegador como predeterminado. Vea mi respuesta here para obtener más información sobre el formato de la URL.

Supongo que si utilizas la intención de iniciar la aplicación Maps con los coords, eso también funcionaría.


¿Hay también una forma de pasar coords directamente a google maps para mostrar?

Puedes usar el prefijo URI geo :

Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("geo:" + latitude + "," + longitude)); startActivity(intent);


De XML

En caso de que tenga la dirección web / URL mostrada en su vista y desee que sea cliquable y dirija al usuario a un sitio web en particular, puede usar:

android:autoLink="web"

De la misma manera, puede usar diferentes atributos de autoLink (correo electrónico, teléfono, mapa, todos) para realizar su tarea ...


Enviar una intención al navegador para abrir una URL específica:

String url = "http://www..com"; Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i);

podría ser cambiado a una versión de código corto ...

Intent intent = new Intent(Intent.ACTION_VIEW).setData(Uri.parse("http://www..com")); startActivity(intent);

o

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www..com")); startActivity(intent);

¡O incluso más corto!

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www..com")));

Más información sobre la intención

=)


En algunos casos, la URL puede comenzar con "www". En este caso obtendrás una excepción:

android.content.ActivityNotFoundException: No Activity found to handle Intent

La URL siempre debe comenzar con "http: //" o "https: //", así que uso este código copiado:

if (!url.startsWith("https://") && !url.startsWith("http://")){ url = "http://" + url; } Intent openUrlIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); startActivity(openUrlIntent);


La versión corta

Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("http://almondmendoza.com/android-applications/")); startActivity(i);

debería funcionar tan bien ...


La versión más corta.

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")));




Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")); startActivity(browserIntent);