Я разрабатываю приложение, в котором мне нужно получать контакты и электронные письма из внутренней телефонной книги.
После некоторого поиска в Google я нашел следующий код для получения телефонного номера и имени.
Main.java
Cursor numcur = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,null, null);
if (numcur != null) {
while (numcur.moveToNext()) {
name = numcur.getString(numcur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
number = numcur.getString(numcur.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
phonenumarray.add(number);
displaynamearray.add(name);
}
}
Но здесь, чтобы получить идентификатор электронной почты, они используют отдельный курсор, как показано ниже.
Cursor emailcur = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, null,null, null);
if (emailcur != null) {
while (emailcur.moveToNext()) {
email = emailcur.getString(emailcur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA1));
emailarray.add(email);
}
}
Поскольку здесь мы получаем значения отдельно при добавлении значений в список для contact2, он отображает идентификатор почты contact7, а для contact3 показывает идентификатор почты contat5, как показано на рисунке ниже.
Итак, может ли кто-нибудь помочь мне, как получить номер телефона, почтовый идентификатор для того же контакта.