How to get Contact numbers by contact name using blackberry api

≡放荡痞女 提交于 2020-01-06 20:37:21

问题


How to get all contact numbers for a Contact when searching by contact name. Given a contact name how can we search the address book and get all the contact numbers associated with the contact.


回答1:


get the contact list and search for your contact name between the contacts


    BlackBerryContactList contList = (BlackBerryContactList)PIM.getInstance().openPIMList(PIM.CONTACT_LIST,PIM.READ_ONLY);
            Enumeration er = contList.items();
            while (er.hasMoreElements())
            {
                BlackBerryContact c = (BlackBerryContact)er.nextElement();
if ((contList.isSupportedField(BlackBerryContact.NAME)) && (c.countValues(BlackBerryContact.NAME) > 0))
                {
                    String[] name = c.getStringArray(BlackBerryContact.NAME, 0);
                    String firstName = name[BlackBerryContact.NAME_GIVEN];
                    String lastName = name[BlackBerryContact.NAME_FAMILY];
                    fullname = "";
                    if (firstName != null)
                    {
                        fullname += firstName + " ";
                    }

//check if the name is the name you want

//here is the code snippet to iterate all phone nrs of a contact if ((contList.isSupportedField(BlackBerryContact.TEL)) && (c.countValues(BlackBerryContact.TEL) > 0)) { numValues = 0; try { numValues = c.countValues(BlackBerryContact.TEL); } catch (Exception localException) { } for (int i = 0; i < numValues; ++i) { if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_WORK) worknumber = c.getString(BlackBerryContact.TEL, i); else if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_HOME) homenumber = c.getString(BlackBerryContact.TEL, i); else if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_MOBILE) mobilenumber = c.getString(BlackBerryContact.TEL, i); else if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_OTHER) othernumber = c.getString(115, i); else if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_PAGER) pagernumber = c.getString(BlackBerryContact.TEL, i); else if (c.getAttributes(BlackBerryContact.TEL, i) == BlackBerryContact.ATTR_FAX) { faxnumber = c.getString(BlackBerryContact.TEL, i); } }

                System.out.println("---<><><>Mobile Phone Nr: " + mobilenumber);
                System.out.println("---<><><>Work Phone Nr: " + worknumber);
                System.out.println("---<><><>Home Phone Nr: " + homenumber);
                System.out.println("---<><><>Pager Nr: " + pagernumber);
                System.out.println("---<><><>Fax Nr: " + faxnumber);
                System.out.println("---<><><>Other Nr: " + othernumber);
            }

}



来源:https://stackoverflow.com/questions/2385961/how-to-get-contact-numbers-by-contact-name-using-blackberry-api

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!