Recuperar contactos por número de teléfono

Puede buscar en todas las listas de contactos o en una lista específica de un dispositivo BlackBerry para encontrar los contactos que coincidan con un número de teléfono especificado.

  1. Importe las clases y las interfaces necesarias.
    import net.rim.blackberry.api.pdap.BlackBerryContact;
    import net.rim.blackberry.api.pdap.BlackBerryContactList;
    import net.rim.blackberry.api.pdap.BlackBerryPIMList;
    import net.rim.blackberry.api.phone.Phone;
    import java.util.*;
    import javax.microedition.pim.PIM;
    import javax.microedition.pim.PIMException;
    import javax.microedition.pim.PIMItem;
  2. Lleve a cabo una de las acciones siguientes:
    1. Para buscar en todas las listas de contactos, invoque Phone.getContactsByPhoneNumber(), que devuelve un objeto Vector que contiene los contactos que coinciden con el número de teléfono especificado. El Vector está vacío si no hay contactos que coincidan.
      Vector contacts = Phone.getContactsByPhoneNumber(phoneNum);
    2. Para buscar en una lista de contactos especificada, invoque BlackBerryContactList.itemsByPhoneNumber(), que devuelve un objeto Enumeration de todos los contactos que coinciden con el número de teléfono especificado. Cada uno de los elementos de Enumeration es un objeto PIMItem que puede asignar a un objeto BlackBerryContactList.
      BlackBerryContactList list = (BlackBerryContactList) 
         PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE, "test");
      Enumeration myEnum = list.itemsByPhoneNumber(phoneNum);

Ejemplo de código

try
{
   BlackBerryContactList list = (BlackBerryContactList) 
      PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE, "test");
   Enumeration myEnum = list.itemsByPhoneNumber(phoneNum);
   while (myEnum.hasMoreElements())
   {
      Object o = myEnum.nextElement();
      if (o instanceof BlackBerryContact)
      {
         BlackBerryContact c = (BlackBerryContact) o;
         String[] name = c.getStringArray(Contact.NAME, 0);
         add(new RichTextField("A matching contact is " + 
            name[Contact.NAME_GIVEN] + " " + name[Contact.NAME_FAMILY]));
      }
   }
}
catch (Exception e)
{
   System.out.println(e.getMessage());
}

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