web-dev-qa-db-fra.com

Android Numéro d'appel intentionnel

J'ai mon numéro de téléphone sur TextView et je veux ouvrir "Intent-picker" pour choisir l'application avec laquelle je veux appeler (Skype, Viber ...) ou simplement composer pour l'appeler.

Intent callIntent = new Intent(Intent.ACTION_CALL); appelle instantanément donc ça ne m'aide pas.

14
Kyryl Zotov

Je pense que vous cherchez quelque chose comme ça:

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:0123456789"));
startActivity(intent); 

Cela ouvre le numéroteur (ou crée une boîte de dialogue de sélection s'il y a plusieurs applications installées qui peuvent passer un appel téléphonique) avec le numéro rempli, mais ne démarre pas réellement l'appel. Voir cette réponse pour plus d'informations.

Solution officielle

Exemple d'intention:

public void dialPhoneNumber(String phoneNumber) {
    Intent intent = new Intent(Intent.ACTION_DIAL);
    intent.setData(Uri.parse("tel:" + phoneNumber));
    if (intent.resolveActivity(getPackageManager()) != null) {
        startActivity(intent);
    }
}
7
Shihab Uddin

Pour kotlin

    val intent = Intent(Intent.ACTION_DIAL)
    intent.data = Uri.parse("tel:0123456789")
    startActivity(intent)
4
kuzdu