Hi all, am trying to access both the Phone's phonebook and SIM phonenook on Nokia 5130c-2 XpressMusic.
The app runs without errors but it only returns the numbers from the phone's Phonebook. When I list the available phonebooks using this code
it gives me both the Phonebook and SIM card lists. i.eString[] all_contact_lists=PIM.getInstance().listPIMLists(PIM.CONTACT_LIST);
1. Phone
2. SIM
I have tried explicitly reading from the SIM card using this code but it still returns nothing(even though I have numbers saved in the SIM card.)
Here's my complete code::Code:ContactList clist = (ContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY, "SIM");
Code:import javax.microedition.midlet.*; import javax.microedition.pim.*; import com.sun.lwuit.*; import java.util.*; public class contacts extends MIDlet { private List my_list=new List(); private String[] names=null; public void startApp() { Display.init(this); Form my_form=new Form("Contacts List"); String[] all_contact_lists=PIM.getInstance().listPIMLists(PIM.CONTACT_LIST); //Iterate through available phonebooks for(int db=0; db<all_contact_lists.length; db++) { try { ContactList clist = (ContactList) PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY, all_contact_lists[db]); Enumeration contacts=clist.items(); while(contacts.hasMoreElements()) { Contact contact=(Contact)contacts.nextElement(); try{ String phone_contact=""; names=contact.getStringArray(Contact.NAME, 0); for(int i=0; i<names.length; i++) { if(names[i]!=null) phone_contact+=" "+names[i]; } //my_list.addItem(phone_contact); int phone_numbers=contact.countValues(Contact.TEL); if(phone_numbers>0) { String number=contact.getString(Contact.TEL,0); my_list.addItem(phone_contact+":"+number); } else { my_list.addItem(phone_contact); } //clist.removeContact(contact); } catch (Throwable t) { t.printStackTrace(); } } } catch (PIMException ex) { ex.printStackTrace(); } } //my_list.addItem(all_contact_lists); my_list.setRenderingPrototype("WWWWWWWWWWWWWWWWWWWW"); my_form.addComponent(my_list); my_form.show(); } public void pauseApp(){} public void destroyApp(boolean unconditional){} }

Reply With Quote

