Java me J2ME获取sim卡联系人
如何在J2ME中使用PIM检索SIM卡和电话簿联系人。 我试过了 PIM.getInstance().listPIMLists(PIM.CONTACT_LIST);Java me J2ME获取sim卡联系人,java-me,Java Me,如何在J2ME中使用PIM检索SIM卡和电话簿联系人。 我试过了 PIM.getInstance().listPIMLists(PIM.CONTACT_LIST); 但它只显示电话簿联系人。可能这个方法对您有帮助 public static HashLongObject loadContactFromPhone() { PIM iPim = PIM.getInstance(); String[] allContactLists = iPim.listPIMLists(PIM.C
但它只显示电话簿联系人。可能这个方法对您有帮助
public static HashLongObject loadContactFromPhone() {
PIM iPim = PIM.getInstance();
String[] allContactLists = iPim.listPIMLists(PIM.CONTACT_LIST);
// Phone or SIM
HashLongObject iPhoneBookList = new HashLongObject();
int i;
for (i = 0; i < allContactLists.length; i++) {
try {
PIMList iPIMList = iPim.openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY, allContactLists[i]);
Enumeration iPimListEnum = iPIMList.items();
String iContactName, iTelNumber;
String []arrName;
boolean isSupportFormettedName = iPIMList.isSupportedField(Contact.FORMATTED_NAME);
if(isSupportFormettedName) {
while (iPimListEnum.hasMoreElements()) {
try {
Contact iContact = (Contact) iPimListEnum.nextElement();
iContactName = iContact.getString(Contact.FORMATTED_NAME, 0);
iTelNumber = iContact.getString(Contact.TEL, 0);
} catch (Exception e) {
Logger.logStackTrace(e);
continue;
}
long corePhoneNumber = StringUtils.toCCPhoneNumber(iTelNumber);
// Check Duplicate
if (iPhoneBookList.containsKey(corePhoneNumber)) {
continue;
}
iPhoneBookList.put(corePhoneNumber, iContactName);
}
} else {
while (iPimListEnum.hasMoreElements()) {
try {
Contact iContact = (Contact) iPimListEnum.nextElement();
arrName = iContact.getStringArray(Contact.NAME, Contact.ATTR_NONE);
iContactName = "";
if(arrName[Contact.NAME_FAMILY] != null) {
iContactName += arrName[Contact.NAME_FAMILY];
}
if(arrName[Contact.NAME_GIVEN] != null) {
iContactName += arrName[Contact.NAME_GIVEN];
}
iTelNumber = iContact.getString(Contact.TEL, 0);
} catch (Exception e) {
Logger.logStackTrace(e);
continue;
}
long corePhoneNumber = StringUtils.toCCPhoneNumber(iTelNumber);
// Check Duplicate
if (iPhoneBookList.containsKey(corePhoneNumber)) {
continue;
}
iPhoneBookList.put(corePhoneNumber, iContactName);
}
}
} catch (PIMException ex) {
Logger.logStackTrace(ex);
} catch (Exception otherEx) {
Logger.logStackTrace(otherEx);
}
}
return iPhoneBookList;
}
public static HashLongObject loadContactFromPhone(){
PIM iPim=PIM.getInstance();
String[]allcontactlist=iPim.listPIMLists(PIM.CONTACT\u LIST);
//电话或SIM卡
HashLongObject iPhoneBookList=新的HashLongObject();
int i;
对于(i=0;i
呼叫列表PIMLists的可能重复项仅返回一个列表?是的,它仅返回一个电话簿联系人列表。当我试图使用simaddressbook=(javax.microedition.pim.ContactList)(pim.getInstance().openPIMList(pim.CONTACT_LIST,pim.read_WRITE,“sim”))读取sim卡联系人时;但是它的空指针例外我已经尝试在一些支持J2ME的手机上运行该应用程序。诺基亚N17和三星C2-02都在阅读通讯录联系人。但当我试着在诺基亚E5上运行它时,它什么也没显示。