Récupérer le contact lié à un appel actif

  1. Importez les classes et les interfaces requises.
    import net.rim.blackberry.api.pdap.BlackBerryContact;
    import net.rim.blackberry.api.phone.*;
  2. Implémentez un écouteur de téléphone.
    class MyPhoneListener extends AbstractPhoneListener
    {
    }
  3. Appelez PhoneCall.getContact() dans une méthode de rappel dans l'écouteur de l'application Téléphone ; par exemple, dans callIncoming() pour un nouvel appel. La méthode getContact() cherche dans toutes les listes de contacts sur le terminal BlackBerry et renvoie un objet BlackBerryContact associé au numéro de téléphone actuel ou null en l'absence de contact correspondant.
    public void callIncoming(int callId)
    {
       PhoneCall call = Phone.getCall(callId);
       BlackBerryContact contact = call.getContact();
    }
  4. Utilisez les informations de contact récupérées.

Échantillon de code

public void callIncoming(int callID) // in a phone listener
{
   StringBuffer strBuffer = new StringBuffer();
   PhoneCall call = Phone.getCall(callID);        
   BlackBerryContact contact = call.getContact();
   if(contact != null)
   {    
      if(contact.countValues(BlackBerryContact.ADDR) > 0)
      {
         String[] strArray = contact.getStringArray(BlackBerryContact.ADDR, 0);
         String city = strArray[BlackBerryContact.ADDR_LOCALITY];
         if(city != null && city.length() > 0)
         {
            strBuffer.append(city);                
         }            
         String country = strArray[BlackBerryContact.ADDR_COUNTRY];
         if(country != null && country.length() > 0)
         {
            if(city != null && city.length() > 0)
            {
               strBuffer.append(", ");
            }
            strBuffer.append(country);
         }
      }                         
   }
   // use the contact info, for example, 
   // display it on the incoming phone screen
}

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.