Problemas com PIM

Senhores estou utilizando o código a seguir para listar os contatos da agenda do celular.
No Z530i e no W850 funciona que é uma beleza, mas quando coloco ele no W910 e K850i
ele não lista nada. Procurei verificar se poderia ser alguma exception mas não é o caso.

Um abraço a todos.

	protected void listPim() {

		PIM pimInstance = PIM.getInstance();
		//
		Enumeration enumContacts = null;
		//
		Image image[] = getContactImages();
		// 
		String tel[] =  null; 
		//
		Contact contact;
		//
		try {
			//
			PIMList list = pimInstance.openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY);
			//
			enumContacts = list.items();
			//
		} catch (PIMException e) {
			e.printStackTrace();
		} 
		//
		while (enumContacts.hasMoreElements()) {
			//
			tel = new String[2];
			contact = (Contact) enumContacts.nextElement();
            	//
			tel[0] = contact.getString( Contact.FORMATTED_NAME,Contact.ATTR_NONE );
			//
			try {
				tel[1] = contact.getString( Contact.TEL, Contact.ATTR_MOBILE );
				//
			} catch (Exception e) {
				tel[1] = contact.getString( Contact.TEL, Contact.ATTR_NONE );
			}
			//
			append(tel, image);
			//
		}

	}

Senhores,

descobre q o problema é q o nome do contato não esta gravado na field Contact.FORMATTED_NAME e sim
Contact.NAME por isso subia uma exception. Mas ainda sim, mesmo dando um getString( Contact.NAME , Contact.ATTR_NONE ), continua dando pau. Se alguém tiver uma idéia eu agradeço.

Galera problema resolvido.

A questão que o K850i e W910 são JP8 e por isso a estrutura de dados que ele utiliza para os
contatos é um pouco diferente. Segue o código que resolveu meu problema.

		if(list.isSupportedField( Contact.FORMATTED_NAME )){
			return contact.getString(Contact.FORMATTED_NAME, Contact.ATTR_NONE);
		}else{
			String name = "";
			//
			String nameFragments[] = contact.getStringArray(Contact.NAME, 0);
			//
			for(int i = 0; i < nameFragments.length; i++){
				if(nameFragments[i] != null)
					name +=  nameFragments[i] + " ";		
			}
			//
			return name;
		}