Récupérer des contacts par numéro de téléphone

Vous pouvez rechercher sur toutes les listes de contacts ou une liste de contacts donnée sur un terminal BlackBerry pour les contacts correspondant à un numéro de téléphone spécifié.

  1. Importez les classes et les interfaces requises.
    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. Effectuez l'une des actions suivantes :
    1. Pour rechercher dans toutes les listes de contacts, appelez Phone.getContactsByPhoneNumber(), qui renvoie un objet Vector contenant les contacts correspondant au numéro de téléphone indiqué. L'objet Vector est vide en l'absence de contact correspondant.
      Vector contacts = Phone.getContactsByPhoneNumber(phoneNum);
    2. Pour rechercher dans une liste de contacts spécifiée, appelez BlackBerryContactList.itemsByPhoneNumber(), qui renvoie un objet Enumeration de tous les contacts correspondant au numéro de téléphone spécifié. Chacun des éléments dans Enumeration est un objet PIMItem que vous pouvez convertir en un objet BlackBerryContactList.
      BlackBerryContactList list = (BlackBerryContactList) 
         PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE, "test");
      Enumeration myEnum = list.itemsByPhoneNumber(phoneNum);

Échantillon de code

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());
}

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