Autore Topic: Accedere ai dati della Rubrica ... Problema duplicazione informazioni  (Letto 622 volte)

Offline cioppy

  • Nuovo arrivato
  • *
  • Post: 35
  • Respect: +3
    • giancarlo985
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S Plus
  • Play Store ID:
    Team Android
  • Sistema operativo:
    Linux Mint 12 - 64bit
Ciao a tutti.
Ho scritto del codice per poter leggere e successivamente elaborare i dati dei contatti presenti in rubrica (nome e numeri di telefono). Il problema è che per ogni coppia Nome/Numero ho tre duplicati :

Codice (Java): [Seleziona]
Cursor cursor = this.getContentResolver().query(
                ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

while (cursor.moveToNext()) {

        String contactId = cursor.getString(cursor
                        .getColumnIndex(BaseColumns._ID));

        String name = cursor.getString(cursor
                        .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

        String hasPhone = cursor
                        .getString(cursor
                                        .getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));


        if (!Boolean.parseBoolean(hasPhone)) {

                Cursor phones = this.getContentResolver().query(
                                ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                null,
                                ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                                + " = " + contactId, null, null);

                while (phones.moveToNext()) {
                        String number = phones
                                        .getString(phones
                                          .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                       Log.d("Phone", name+ " "+ number);
                }
                phones.close();
        }
}

cursor.close();
Codice: [Seleziona]
Ad esempio per il contatto Pippo con il solo numero di cellulare ottengo :
Pippo 1234
Pippo 1234
Pippo 1234
Qualcuno mi sa dire come faccio ad ottenere una sola copia per ciascun numero di telefono ????