Cette méthode utilise une méthode pour vous permettre de saisir n'importe quelle chaîne au lieu d'avoir une entrée fixe. Cela enregistre certaines lignes de code si elles sont utilisées plusieurs fois, car vous n'avez besoin que de trois lignes pour appeler la méthode.
public Intent getWebIntent(String url) {
//Make sure it is a valid URL before parsing the URL.
if(!url.contains("http://") && !url.contains("https://")){
//If it isn't, just add the HTTP protocol at the start of the URL.
url = "http://" + url;
}
//create the intent
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)/*And parse the valid URL. It doesn't need to be changed at this point, it we don't create an instance for it*/);
if (intent.resolveActivity(getPackageManager()) != null) {
//Make sure there is an app to handle this intent
return intent;
}
//If there is no app, return null.
return null;
}
L'utilisation de cette méthode la rend universellement utilisable. L'informatique ne doit pas être placée dans une activité spécifique, car vous pouvez l'utiliser comme ceci:
Intent i = getWebIntent("google.com");
if(i != null)
startActivity();
Ou si vous souhaitez le démarrer en dehors d'une activité, vous appelez simplement startActivity sur l'instance d'activité:
Intent i = getWebIntent("google.com");
if(i != null)
activityInstance.startActivity(i);
Comme on le voit dans ces deux blocs de code, il y a une vérification nulle. C'est comme s'il renvoie null s'il n'y a pas d'application pour gérer l'intention.
Cette méthode est par défaut HTTP si aucun protocole n'est défini, car il existe des sites Web qui n'ont pas de certificat SSL (ce dont vous avez besoin pour une connexion HTTPS) et ceux-ci cesseront de fonctionner si vous essayez d'utiliser HTTPS et il n'est pas là . Tout site Web peut toujours forcer HTTPS, donc ces côtés vous amènent à HTTPS de toute façon
Étant donné que cette méthode utilise des ressources externes pour afficher la page, vous n'avez pas besoin de déclarer l'autorisation INternet. L'application qui affiche la page Web doit le faire