В моем приложении я читаю все контакты со своего телефона в виде списка.После нажатия на определенный вид из списка, я хочу прочитать имя, телефон и адрес электронной почты.Мне удается прочитать имя и телефон без проблем.Но я не могу получить электронное письмо.
Скажем, у меня есть 2 контакта:
Bill
55-555-555
bil@example.com
Mark
66-666-666
mark@example.com
Так что поле электронной почты называется обратным.Для Билла я получаю электронную почту Марка И для Марка я получаю электронную почту Билла.Остальные значения верны.
private HashMap<String,String> getContactNames()
{
HashMap<String,String>contact=new HashMap<>();
ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
cursor.moveToPosition(pos_listView);
String name = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
phones.moveToPosition(pos_listView);
String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Cursor emailcur = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, null,null, null);
emailcur.moveToPosition(pos_listView);
String email = emailcur.getString(emailcur.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA1));
contact.put("name",name);
contact.put("phoneNumber",phoneNumber);
contact.put("email",email);
cursor.close();
return contact;
}