Recuperar el contacto asociado con una llamada activa

  1. Importe las clases y las interfaces necesarias.
    import net.rim.blackberry.api.pdap.BlackBerryContact;
    import net.rim.blackberry.api.phone.*;
  2. Implemente un oyente de teléfono.
    class MyPhoneListener extends AbstractPhoneListener
    {
    }
  3. Invoque PhoneCall.getContact() en un método de devolución de llamada en el servicio de escucha de teléfono (por ejemplo, en callIncoming() para una llamada nueva). El método getContact() busca en todas las listas de contactos del dispositivo BlackBerry y devuelve un BlackBerryContact que está asociado con el número de teléfono actual o null si no hay contacto que coincida.
    public void callIncoming(int callId)
    {
       PhoneCall call = Phone.getCall(callId);
       BlackBerryContact contact = call.getContact();
    }
  4. Utilice la información de contacto recuperada.

Ejemplo de código

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
}

¿Le ha resultado útil esta información? Envíenos sus comentarios.