Дублированные контакты Android - PullRequest
2 голосов
/ 20 февраля 2012

Я использую этот кусок кода, чтобы получить контакты с телефона Android:

Contact contactDataObject = null;
        String[] values = new String[] {ContactsContract.Contacts._ID,ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.LOOKUP_KEY, ContactsContract.Contacts.HAS_PHONE_NUMBER}; 
        Cursor c = contentResolver.query(ContactsContract.Contacts.CONTENT_URI, values, null, null, Phone.DISPLAY_NAME + " ASC");
         while(c.moveToNext()){
          String contactId = c.getString(c.getColumnIndex(ContactsContract.Contacts._ID));
          String name = c.getString(c.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
          String lookupKey = c.getString(c.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
          String hasPhone =c.getString(
                  c.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
          if(Integer.parseInt(hasPhone) == 1){

               contactDataObject = new Contact();
               contactDataObject.setmName(name);
               contactDataObject.setmId(contactId);
               contactDataObject.setmLookupKey(lookupKey);
               arr.add(contactDataObject);
          }

Проблема в дублированных контактах. Контакты отображаются с SIM-карты и с мобильного телефона. Как я могу получить контакты только с телефона?

Заранее спасибо!

...