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")));
Para abrir una URL / sitio web, haga lo siguiente:
String url = "http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
Aquí está la documentación de Intent.ACTION_VIEW
.
Fuente: Abrir una URL en el navegador web de Android desde la aplicación
Utilice el siguiente fragmento de código en su código
Intent newIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.google.co.in/?gws_rd=cr"));
startActivity(newIntent);
Utilizar este enlace
http://developer.android.com/reference/android/content/Intent.html#ACTION_VIEW
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);