0
これまで、以下のコードでは、電話上のすべての連絡先が正常に取得されました。しかし、Android 6.0では、すべての連絡先が2回連続して取得されるようになりました。それは私が望むものではありません。連絡先のAndroidクエリで同じ番号が2回返されますか?
ArrayList<PersonalContact> allContacts = new ArrayList<>();
Cursor personalContacts = getContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null,
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
if (personalContacts != null && personalContacts.moveToFirst())
{
do
{
String name = personalContacts.getString(personalContacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String number = personalContacts.getString(personalContacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
//This if statement is my current hack-y fix to this.
if(allContacts.size() < 1 || !allContacts.get(allContacts.size() - 1).getRawPhoneNumber().equals(number))
allContacts.add(new PersonalContact(name, number));
}
while (personalContacts.moveToNext());
}
if (personalContacts != null)
personalContacts.close();
return allContacts;
各連絡先を1回だけ取得するにはどうすればよいですか?