2

I am using this piece of code to get the contacts from the android phone:

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);
          }

The problem is in duplicated contacts. The contacts are shown from SIM card and from mobile phone. How can I get contacts only from phone?

Thank you in advance!

Akram
  • 7,548
  • 8
  • 45
  • 72
someone
  • 23
  • 1
  • 5

0 Answers0