Gestion des erreurs lors de la recherche d'une activité
Si AndroidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...) ne parvient pas à trouver une activité répondant à votre intention, une exception est générée: ActivityNotFoundException
Mais avant d'en arriver à cela, il est possible de demander ce qu'Android ferait comme réponse avant de lancer une activité:
Vous utiliserez pour cela le Package Manager qui permet d'obtenir des informations sur les packages qui sont installés sur l'appareil.
La création d'une instance de Package Manager se fait de la manière suivante:
PackageManager manager = getPackageManager();
Puis création d'une instance d'intent avec les filtres, mime...
Par exemple Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:0102030405")); (cf. téléphone)
Puis vous demandez à l'intention de résoudre la recherche:
ComponentName component = intent.resolveActivity(manager);
Si component est null, il n'existe pas d'activité répondant à la demande.