전화 번호로 연락처 검색

BlackBerry 단말기의 모든 연락처 목록 또는 지정된 연락처 목록에서 지정된 전화 번호와 일치하는 연락처를 검색할 수 있습니다.

  1. 필요한 클래스와 인터페이스를 가져옵니다.
    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. 다음 중 하나를 수행합니다.
    1. 모든 연락처 목록을 검색하려면 Phone.getContactsByPhoneNumber()를 호출합니다. 이는 지정된 전화 번호와 일치하는 연락처가 들어 있는 Vector 객체를 반환합니다. 일치하는 연락처가 없는 경우 Vector가 비어 있습니다.
      Vector contacts = Phone.getContactsByPhoneNumber(phoneNum);
    2. 지정된 연락처 목록을 검색하려면 BlackBerryContactList.itemsByPhoneNumber()를 호출합니다. 이는 지정된 전화 번호와 일치하는 모든 연락처의 Enumeration 객체를 반환합니다. Enumeration에 있는 각 항목은 PIMItem 객체이며, 이 객체를 BlackBerryContactList 객체에 캐스팅할 수 있습니다.
      BlackBerryContactList list = (BlackBerryContactList) 
         PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE, "test");
      Enumeration myEnum = list.itemsByPhoneNumber(phoneNum);

코드 샘플

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

이 정보가 도움이 되었습니까? 의견을 보내 주십시오.