mardi 1 novembre 2011

Tutorial Android : Développer une application passant un appel téléphonique

Voici un petit tutorial permettant de développer une application Android qui passe un appel téléphonique.

Pour ce faire, nous allons utiliser un Intent standard dans Androïd : Intent.ACTION_CALL
et utiliser un écouteur : PhoneStateListener, pour recevoir les événements permettant de suivre l'état de l'appel.

Pour passer un appel :

String n = "tel:5556";
Intent intent = new Intent( Intent.ACTION_CALL, Uri.parse( n ) );
startActivity( intent );

Ci-dessus on utilise l'intent avec en paramètre le numéro à appeler précédé de "tel:".

Pour suivre l'état de la communication on utilise un listener comme ci-dessous :





class TelListener extends PhoneStateListener {
    @Override
    public void onCallStateChanged(int state, String numero ) {
if(TelephonyManager.CALL_STATE_RINGING == state) 
           Log.i("LTM", "RINGING, numéro: " + numero);
            
        if(TelephonyManager.CALL_STATE_OFFHOOK == state) 
           Log.i("LTM", "OFFHOOK");
            
        if(TelephonyManager.CALL_STATE_IDLE == state) 
           Log.i("LTM", "IDLE");
            
super.onCallStateChanged(state, numero);
    }
}

Pour enregistrer l'écouteur décrit ci-avant on utilise le code suivant :

TelephonyManager manager = (TelephonyManager)this.getSystemService( 
  this.TELEPHONY_SERVICE );
manager.listen( new TelListener(), PhoneStateListener.LISTEN_CALL_STATE );


Exemple d'application Android passant un appel téléphonique :











Voici le source de l'activité (la vue) en entier :

















0 commentaires:

Enregistrer un commentaire