Как я могу получить адрес электронной почты - PullRequest
7 голосов
/ 09 июля 2011

Я использую такой код для получения электронной почты Gmail с помощью контент-провайдера. Моя проблема в том, что поле «fromAddress» содержит имя отправителя, а не электронную почту отправителя. Например, он будет содержать «John Doe», но я хотел бы иметь «john.doe@somewhere.net».

Имя в поле - это имя, заданное пользователем в его почтовом клиенте, оно не исходит от моих контактов с Android.

Вот код, который я использую:

ContentResolver resolver = context.getContentResolver();
cursor = resolver.query(Uri.parse("content://gmail-ls/conversations/myemail@gmail.com/", null, null, null, null);
cursor.moveToFirst();
String fromAddress = cursor.getString(cursor.getColumnIndexOrThrow("fromAddress")));
cursor.close();

Я знаю, что электронная почта не указана ни в каких полях из этого URI. Я пытался использовать этот тип URI: "content: //gmail-ls/messages/myemail@gmail.com/39920384203052", но он всегда возвращает курсор с 0 записями для действительного идентификатора сообщения.

Пожалуйста, помогите мне получить адрес электронной почты отправителя для данного адреса электронной почты Gmail ...

Спасибо!

Ответы [ 2 ]

2 голосов
/ 03 декабря 2012

Запустить операцию для результата

Intent intent = new new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);

startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);

OnActivityResult

Uri result = data.getData();  
String con = result.getLastPathSegment();
cursor = getContentResolver().query(Phone.CONTENT_URI,  
                    null, Phone.CONTACT_ID + "=?", new String[] { con },  
                    null);
int id = cursor.getColumnIndex(Phone.DATA);
if(cursor.moveToFirst()){
    String mail = cursor.getString(id);
    Log.e("Email", mail);
}
0 голосов
/ 23 февраля 2012

Мне не удалось найти какую-либо документацию по поставщику содержимого GMail для Android, но это может помочь вам.

Откройте объект HttpRequest и отправьте его здесь - https://mail.google.com/mail/feed/atom Как только выauthenticate (стандартная HTTP-аутентификация), тогда вы должны получить XML-фид вашего почтового ящика.

Оттуда вы можете его проанализировать.Поле, которое вы ищете, является entry-> author-> email.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...