Java me 来自电话簿的J2ME联系人&;诺基亚E5和E72中的sim卡未读取
我的j2me应用程序具有在手机和sim卡上与联系人通信的功能。我测试了该应用程序,并在诺基亚N70 M和诺基亚C2-02上运行良好。但不能从诺基亚E5和E72获取联系人。请让我知道可能的错误,我错了,给你这里的代码Java me 来自电话簿的J2ME联系人&;诺基亚E5和E72中的sim卡未读取,java-me,nokia,pim,Java Me,Nokia,Pim,我的j2me应用程序具有在手机和sim卡上与联系人通信的功能。我测试了该应用程序,并在诺基亚N70 M和诺基亚C2-02上运行良好。但不能从诺基亚E5和E72获取联系人。请让我知道可能的错误,我错了,给你这里的代码 public void loadContacts() { System.out.println("into show contacts1"); try { javax.microedition.pim.ContactList addressbook
public void loadContacts()
{
System.out.println("into show contacts1");
try
{
javax.microedition.pim.ContactList addressbook=null;
javax.microedition.pim.ContactList simaddressbook=null;
PIM pim = PIM.getInstance();
System.out.println("into show contacts2");
String[] allContactLists = PIM.getInstance().listPIMLists(PIM.CONTACT_LIST);
System.out.println("into show contacts3");
for(int ctr=0;ctr<allContactLists.length;ctr++)
{
pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY,allContactLists[ctr]);
addressbook=(javax.microedition.pim.ContactList)(pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY));
Contact contact = null;
Enumeration items = null;
items = addressbook.items();
while (items.hasMoreElements()) {
contact = (Contact) items.nextElement();
int telCount = contact.countValues(Contact.TEL);
int nameCount = contact.countValues(Contact.FORMATTED_NAME);
if (telCount > 0 && nameCount > 0) {
String contactName = contact.getString(Contact.FORMATTED_NAME, 0);
for (int i = 0; i < telCount; i++) {
String phoneNumber = contact.getString(Contact.TEL, i);
ContactFetcher contactfetcher=new ContactFetcher();
contactfetcher.setFotmattedName(contactName);
contactfetcher.settelName(phoneNumber);
PersistableManager pm=PersistableManager.getInstance();
pm.save(contactfetcher);
}
}
}
}
if(!nokiaos)
{
simaddressbook=(javax.microedition.pim.ContactList)(PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE,"SIM"));
Contact contact = null;
Enumeration simitems=null;
simitems=simaddressbook.items();
while (simitems.hasMoreElements()) {
System.out.println("into show contacts9");
contact = (Contact) simitems.nextElement();
int telCount = contact.countValues(Contact.TEL);
int nameCount = contact.countValues(Contact.FORMATTED_NAME);
if (telCount > 0 && nameCount > 0) {
String contactName = contact.getString(Contact.FORMATTED_NAME, 0);
for (int i = 0; i < telCount; i++) {
String phoneNumber = contact.getString(Contact.TEL, i);
ContactFetcher contactfetcher=new ContactFetcher();
contactfetcher.setFotmattedName(contactName);
contactfetcher.settelName(phoneNumber);
PersistableManager pm=PersistableManager.getInstance();
pm.save(contactfetcher);
}
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void loadContacts()
{
System.out.println(“进入显示联系人1”);
尝试
{
javax.microedition.pim.ContactList addressbook=null;
javax.microedition.pim.ContactList simaddressbook=null;
PIM-PIM=PIM.getInstance();
System.out.println(“进入显示联系人2”);
字符串[]AllContactList=PIM.getInstance().listPIMLists(PIM.CONTACT\u LIST);
System.out.println(“进入显示联系人3”);
对于(int ctr=0;ctr 0&&nameCount>0){
String contactName=contact.getString(contact.FORMATTED\u NAME,0);
对于(int i=0;i0&&nameCount>0){
String contactName=contact.getString(contact.FORMATTED\u NAME,0);
对于(int i=0;i
在这里,我检测手机是s60还是s40,如果是s6o,则只读取s60中的pim联系人,也读取s40中的sim联系人。提前感谢……:)我终于解决了我遗漏了一些姓名约定的问题,这些约定是存储联系人的基础。代码如下所示:- 也可以在诺基亚E5和E72上运行
public void loadContacts()
{
System.out.println("into show contacts1");
try
{
javax.microedition.pim.ContactList addressbook=null;
javax.microedition.pim.ContactList simaddressbook=null;
PIM pim = PIM.getInstance();
System.out.println("into show contacts2");
String[] allContactLists = PIM.getInstance().listPIMLists(PIM.CONTACT_LIST);
System.out.println("into show contacts3");
pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY,allContactLists[0]);
addressbook=(javax.microedition.pim.ContactList)(pim.openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY));
Contact contact = null;
Enumeration items = null;
items = addressbook.items();
if(addressbook.isSupportedField(Contact.FORMATTED_NAME) && addressbook.isSupportedField(Contact.TEL))
{
while (items.hasMoreElements()) {
System.out.println("into show contacts9");
contact= (Contact) items.nextElement();
int telCount = contact.countValues(Contact.TEL);
int nameCount = contact.countValues(Contact.FORMATTED_NAME);
if (telCount > 0 && nameCount > 0) {
String contactName = contact.getString(Contact.FORMATTED_NAME, 0);
for (int i = 0; i < telCount; i++) {
String phoneNumber = contact.getString(Contact.TEL, i);
ContactPerson.addElement(contactName);
Telephone.addElement(phoneNumber);
Imagedata.addElement("");
}
}
}
}
else
{
while (items.hasMoreElements()) {
contact = (Contact) items.nextElement();
String contactName="";
contactName = contactName+contact.getStringArray(Contact.NAME,
Contact.ATTR_NONE)[Contact.NAME_FAMILY];
if(contactName.equals("null"))
{
contactName = contact.getStringArray(Contact.NAME,
Contact.ATTR_NONE)[Contact.NAME_GIVEN];
}
String phoneNumber=contact.getString(Contact.TEL, Contact.ATTR_NONE);
if (contactName!=null && phoneNumber!=null)
{
ContactPerson.addElement(contactName);
Telephone.addElement(phoneNumber);
Imagedata.addElement("");
}
}
}
if(!nokiaos)
{
simaddressbook=(javax.microedition.pim.ContactList)(PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_WRITE,"SIM"));
Contact contactsim = null;
Enumeration simitems=null;
simitems=simaddressbook.items();
if(simaddressbook.isSupportedField(Contact.FORMATTED_NAME) && simaddressbook.isSupportedField(Contact.TEL))
{
while (simitems.hasMoreElements()) {
System.out.println("into show contacts9");
contactsim= (Contact) simitems.nextElement();
int telCount = contactsim.countValues(Contact.TEL);
int nameCount = contactsim.countValues(Contact.FORMATTED_NAME);
if (telCount > 0 && nameCount > 0) {
String contactName = contactsim.getString(Contact.FORMATTED_NAME, 0);
for (int i = 0; i < telCount; i++) {
String phoneNumber = contactsim.getString(Contact.TEL, i);
ContactPerson.addElement(contactName);
Telephone.addElement(phoneNumber);
Imagedata.addElement("simico.png");
}
}
}
}
else
{
while (simitems.hasMoreElements()) {
System.out.println("into show contacts9");
contactsim= (Contact) simitems.nextElement();
String contactName = contactsim.getStringArray(Contact.NAME,
Contact.ATTR_NONE)[Contact.NAME_GIVEN];
String phoneNumber=contactsim.getString(Contact.TEL, Contact.ATTR_NONE);
if (contactName != null && phoneNumber!=null)
{
ContactPerson.addElement(contactName);
Telephone.addElement(phoneNumber);
Imagedata.addElement("simico.png");
}
}
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
try
{
ContactFetcher contactfetcher=new ContactFetcher();
contactfetcher.setFotmattedName(ContactPerson);
contactfetcher.settelName(Telephone);
contactfetcher.setImage(Imagedata);
PersistableManager pm=PersistableManager.getInstance();
pm.save(contactfetcher);
}
catch(Exception ex)
{
}
}
public void loadContacts()
{
System.out.println(“进入显示联系人1”);
尝试
{
javax.microedition.pim.ContactList addressbook=null;
javax.microedition.pim.ContactList simaddressbook=null;
PIM-PIM=PIM.getInstance();
System.out.println(“进入显示联系人2”);
字符串[]AllContactList=PIM.getInstance().listPIMLists(PIM.CONTACT\u LIST);
System.out.println(“进入显示联系人3”);
pim.openPIMList(pim.CONTACT_LIST,pim.READ_ONLY,allcontactlist[0]);
addressbook=(javax.microedition.pim.ContactList)(pim.openPIMList(pim.CONTACT\u LIST,pim.READ\u));
联系人=空;
枚举项=空;
items=addressbook.items();
if(addressbook.IsupportedField(Contact.FORMATTED_NAME)和&addressbook.IsupportedField(Contact.TEL))
{
while(items.hasMoreElements()){
System.out.println(“进入显示联系人9”);
contact=(contact)items.nextElement();
int telCount=contact.countValues(contact.TEL);
int namecont=contact.countValues(contact.FORMATTED\u NAME);
如果(电话计数>0&&nameCount>0){
String contactName=contact.getString(contact.FORMATTED\u NAME,0);
对于(int i=0;i