Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
338 L’art du développement Android
Le Manager
Pour tirer le meilleur parti de l’API de téléphonie, utilisez la classe TelephonyManager,
qui permet notamment de :
● déterminer si le téléphone est en cours d’utilisation, via sa méthode getCallState(),
qui renvoie les valeurs CALL_STATE_IDLE (téléphone non utilisé), CALL_STATE_RINGING
(appel en cours de connexion) et CALL_STATE_OFFHOOK (appel en cours) ;
● trouver l’identifiant de la carte SIM avec getSubscriberId();
● connaître le type du téléphone (GSM, par exemple) avec getPhoneType() ou celui de
la connexion (comme GPRS, EDGE) avec getNetworkType().
Appeler
Pour effectuer un appel à partir d'une application, en utilisant par exemple un numéro que
vous avez obtenu par votre propre service web, créez une intention ACTION_DIAL avec une
Uri de la forme tel:NNNNN (où NNNNN est le numéro de téléphone à appeler) et utilisez
cette intention avec startActivity(). Cela ne lancera pas l'appel, mais activera l'activité
du combiné, à partir duquel l'utilisateur pourra alors appuyer sur un bouton pour effectuer
l'appel.
Voici, par exemple, un fichier de disposition simple mais efficace, extrait du projet Phone/
Dialer :
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Numero : "
/>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
Livre Android.book Page 338 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
338 L’art du développement Android
Le Manager
Pour tirer le meilleur parti de l’API de téléphonie, utilisez la classe TelephonyManager,
qui permet notamment de :
● déterminer si le téléphone est en cours d’utilisation, via sa méthode getCallState(),
qui renvoie les valeurs CALL_STATE_IDLE (téléphone non utilisé), CALL_STATE_RINGING
(appel en cours de connexion) et CALL_STATE_OFFHOOK (appel en cours) ;
● trouver l’identifiant de la carte SIM avec getSubscriberId();
● connaître le type du téléphone (GSM, par exemple) avec getPhoneType() ou celui de
la connexion (comme GPRS, EDGE) avec getNetworkType().
Appeler
Pour effectuer un appel à partir d'une application, en utilisant par exemple un numéro que
vous avez obtenu par votre propre service web, créez une intention ACTION_DIAL avec une
Uri de la forme tel:NNNNN (où NNNNN est le numéro de téléphone à appeler) et utilisez
cette intention avec startActivity(). Cela ne lancera pas l'appel, mais activera l'activité
du combiné, à partir duquel l'utilisateur pourra alors appuyer sur un bouton pour effectuer
l'appel.
Voici, par exemple, un fichier de disposition simple mais efficace, extrait du projet Phone/
Dialer :
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
android:layout_height="wrap_content"
android:text="Numero : "
/>
android:layout_height="wrap_content"
Livre Android.book Page 338 Dimanche, 8. novembre 2009 12:23 12
