Dans mon application Android, j'utilise le code suivant pour lancer l'application de messagerie et remplir un texte par défaut pour un message texte :
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("sms:"+USERS_PHONE_NUMBER));
intent.putExtra("sms_body", "DUMMY TEXT");
startActivity(intent);
Cela fonctionne dans la plupart des cas. Mais malheureusement, sur certains appareils, je reçois le message d'erreur suivant :
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=sms:+XXXXXXXXXX (has extras) }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1510)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384)
at android.app.Activity.startActivityForResult(Activity.java:3131)
at android.app.Activity.startActivity(Activity.java:3237)
De toute évidence, l'intention que j'ai créée ne peut pas être gérée.
- Y a-t-il une erreur dans mon code d'intention SMS ?
- Comment éviter que l'application ne se bloque si l'intention ne peut être traitée ?
Dois-je utiliser PackageManager.queryIntentActivities() ou existe-t-il un autre moyen de résoudre ce problème ?
Merci d'avance !