我想在Nokia S60 sdk中使用PIM apis来阅读姓名,姓氏,手机号码,电话号码,传真号码,地址,同步和UID详细信息等详细联系信息。无法读取J2ME PIM联系人详细信息
但是,我得到的只有Contact.TEL和Contact.EMAIL值,但我没有看到其他值,但我可以在仿真器联系人详细信息中看到其他字段,例如名字,姓氏。
我已配置所有必需的权限。
ContactList addressbook = (ContactList) (PIM.getInstance().openPIMList(
PIM.CONTACT_LIST, PIM.READ_ONLY));
Contact contact = null;
Enumeration items = addressbook.items();
while (items.hasMoreElements()) {
String name = "";
String telephone = "";
String mobile = "";
String email = "";
String InternetTelephone = "";
String Company = "";
String JobTitle = "";
String Synchronisation = "";
String UID = "";
String LastModified = "";
String contactRow = "";
System.out.println("\n *** NEW ITEM ***");
contact = (Contact) (items.nextElement());
System.out.println(" * contact : " + contact.toString());
try {
name = contact.getString(Contact.FORMATTED_NAME, 0);
System.out.println("Name = " + name);
} catch (Exception ex) {
System.out.println(" Name error "+ ex.getMessage());
}
try {
mobile = contact.getString(Contact.ATTR_MOBILE, 0);
System.out.println("Name = " + name);
} catch (Exception ex) {
System.out.println(" Name error "+ ex.getMessage());
}
try
{ telephone = contact.getString(Contact.TEL, 0);
System.out.println("Telephone = " + contact.getString(115, 0)); //field 115: Telephone
} catch (Exception ex) {
System.out.println(" Telephone error "+ ex.getMessage());
}
try
{
email = contact.getString(Contact.EMAIL, 0);
System.out.println("E-mail = " + contact.getString(103, 0));
} catch (Exception ex) {
System.out.println(" E-mail error "+ ex.getMessage());
}
try
{
UID = contact.getString(Contact.UID, 0);
System.out.println(" UID " + UID);
} catch (Exception ex) {
System.out.println(" UID error "+ ex.getMessage());
}
try
{
LastModified = contact.getString(114, 0);
System.out.println(" Last modified " + contact.getString(114, 0));
} catch (Exception ex) {
System.out.println(" Last modified error "+ ex.getMessage());
}
期待您的宝贵建议。
在此先感谢。
查看我对其他帖子的回答[here](http://stackoverflow.com/questions/8322054/cant-access-read-sim-phonebook-in-nokia/8406715#8406715)。设备上支持的“联系人”属性因设备而异,因此您需要使用PIMList.getSupportedFields()来查询它,并在其中标识可用的“联系人”属性。通过这样做,您还可以验证OP是否提到了“Contact”属性在目标设备上受支持。模拟器上的PIM支持与设备完全不同,因此建议检查目标设备上的PIM实现。 – Vimal 2011-12-27 20:59:17
嗨,感谢您的回复,我已阅读您的文章。问题是,如果我尝试获取文件的值,例如电子邮件,名字,最后和TEl以及移动设备,其他人,则获得大约8到9个档案作为受支持的档案,但没有从他们那里获得任何价值。像UID,Synchronizastion,语音通话和其他领域的文件没有得到任何,虽然他们apprear在支持的字段标签。 – 2011-12-28 06:58:08