Je me demande simplement comment lancer une intention dans le navigateur du téléphone pour ouvrir une URL spécifique et l'afficher.
Quelqu'un peut-il me donner un indice s'il vous plaît?
Pour ouvrir une URL/un site Web, procédez comme suit:
String url = "http://www.example.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
Voici le documentation de Intent.ACTION_VIEW
.
Source: Ouverture d'une URL dans le navigateur Web d'Android à partir de l'application
La version courte
Intent i = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://almondmendoza.com/Android-applications/"));
startActivity(i);
devrait fonctionner aussi bien ...
La version la plus courte.
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com")));
Dans certains cas, l'URL peut commencer par "www". Dans ce cas, vous obtiendrez une exception:
Android.content.ActivityNotFoundException: No Activity found to handle Intent
L'URL doit toujours commencer par "http: //" ou "https: //", j'utilise donc ce code extrait:
if (!url.startsWith("https://") && !url.startsWith("http://")){
url = "http://" + url;
}
Intent openUrlIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(openUrlIntent);
String url = "https://www.stackoverflow.com";
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);
Intent intent = new Intent(Intent.ACTION_VIEW).setData(Uri.parse("http://www.stackoverflow.com"));
startActivity(intent);
ou
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.stackoverflow.com"));
startActivity(intent);
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.stackoverflow.com")));
Plus d'infos sur Intent
=)
Existe-t-il également un moyen de passer les coordonnées directement à Google Maps à afficher?
Vous pouvez utiliser le préfixe geoURI
:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("geo:" + latitude + "," + longitude));
startActivity(intent);
Dans le cas où vous avez l'adresse Web/URL affichée sur votre vue et que vous souhaitez la rendre cliquable et diriger l'utilisateur vers un site Web particulier, vous pouvez utiliser:
Android:autoLink="web"
De la même manière, vous pouvez utiliser différents attributs d'autoLink (email, téléphone, carte, tous) pour accomplir votre tâche ...
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);
Utilisez l'extrait suivant dans votre code
Intent newIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("https://www.google.co.in/?gws_rd=cr"));
startActivity(newIntent);
Utilisez ce lien
http://developer.Android.com/reference/Android/content/Intent.html#ACTION_VIEW
"Existe-t-il également un moyen de passer directement des cartes à Google Maps?"
J'ai constaté que si je transmettais au navigateur une URL contenant les coordonnées, Android me demande si je souhaite utiliser le navigateur ou l'application Maps, tant que l'utilisateur n'a pas choisi le navigateur par défaut. Voir ma réponse ici pour plus d'informations sur la mise en forme de l'URL.
J'imagine que si vous aviez l'intention de lancer l'application Maps avec les coordonnées, cela fonctionnerait également.