Gestion des erreurs lors de la recherche d'une activité
Si Android 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.