Я пытаюсь получить имя, номер контакта и идентификатор электронной почты из списка контактов, сохранить в списке массивов и переслать на сервер.Я сохраняю имя, номер телефона и адрес электронной почты для contactNameArrayList
, contactNumberArrayList
и contactEmailIdArrayList
.
Ниже кода я получил имя, адрес электронной почты и номер контакта, но как сохранить определенный идентификатор электронной почты для определенного контакта?
private void getAllContacts() {
ContentResolver contactResolver = context.getContentResolver();
Cursor cursor = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
if(cursor.getCount()>0)
while ( cursor.moveToNext()) {
String displayName = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
String number = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
Log.e("TAG", " Name: " + displayName+"==>phone Number==>"+number);
contactNameArrayList.add(displayName);
contactNumberArrayList.add(number);
final String[] projection = new String[]{ContactsContract.CommonDataKinds.Email.DATA,
ContactsContract.CommonDataKinds.Email.TYPE};
Cursor emailCursor = contactResolver.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI,null,null, null, null);
while (emailCursor.moveToNext()) {
String email = emailCursor.getString(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
int type = emailCursor.getInt(emailCursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.TYPE));
String s = (String) ContactsContract.CommonDataKinds.Email.getTypeLabel(context.getResources(), type, "");
Log.e(TAG,"EMAIL==>"+email);
}
emailCursor.close();
}
cursor.close();
Log.e(TAG,"contactNameArrayList sIZE==>"+contactNameArrayList.size()+"contactNumberArrayList size==>"+contactNumberArrayList.size()+"contactEmailAddressArrayList size==>"+contactEmailAddressArrayList.size());
}
Выше кода я вызываю getAllcontact
метод.Я получил номер, имя и адрес электронной почты и храню в contactNameArrayList
и contactNumberArrayList
и contactEmailAddressList
.Но когда я получаю сообщение с идентификатором электронной почты, оно выглядит так:
Имя: efg ==> Номер телефона ==> (256) 655-555.EMAIL ==> abc@gmail.comEMAIL ==> pqr@gmail.comEMAIL ==> xyz@gmail.comИмя: abc ==> Номер телефона ==> (256) 655-555EMAIL ==> abc@gmail.comEMAIL ==> pqr@gmail.comEMAIL ==> xyz@gmail.comИмя: pqr ==> Номер телефона ==> (987) 456-1238EMAIL ==> abc@gmail.comEMAIL ==> pqr@gmail.comEMAIL ==> xyz@gmail.comИмя: xyz ==> Номер телефона ==> (987) 456-1238EMAIL ==> abc@gmail.comEMAIL ==> pqr@gmail.comEMAIL ==> xyz@gmail.com
Итак, как получить идентификатор электронной почты для конкретного телефона и сохранить в contactEmailArrayList
.Как указано выше, размер ответа conatactNameArrayList
и contactNumberArrayList
одинаков, но размер ContactEmailAddressArrayList
отличается.Поэтому, пожалуйста, дайте мне предложение.