Как я могу получить предложение для адресов электронной почты при вводе поля «Кому»?

1

Я пишу приложение, которое отправит электронное письмо с использованием внешней библиотеки Java Mail. Я искал неделю о том, как я могу отображать подсказки адресов электронной почты пользователей, такие как те, которые отображаются в Gmail.

Любая помощь заявляется!

Теги:
email
gmail
email-address

4 ответа

0
Лучший ответ

Хорошо, после небольшого копания, вот что я нашел. Возьмите ответ об автоматическом заполнении TextView, добавьте к нему следующее и получите то, что я искал.

Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); 
    while (cursor.moveToNext()) { 
        String contactId = cursor.getString(cursor.getColumnIndex( 
                ContactsContract.Contacts._ID)); 
        String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
        if (Boolean.parseBoolean(hasPhone)) { 
            // You know it has a number so now query it like this
            Cursor phones = getContentResolver().query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId, null, null); 
            while (phones.moveToNext()) { 
                String phoneNumber = phones.getString(phones.getColumnIndex( ContactsContract.CommonDataKinds.Phone.NUMBER));                 
            } 
            phones.close(); 
        }

        Cursor emails = getContentResolver().query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId, null, null); 
        while (emails.moveToNext()) { 
            // This would allow you get several email addresses 
            String emailAddress = emails.getString( 
                    emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
        } 
        emails.close(); 
    }
    cursor.close();
1

Получите список писем и используйте autocompleteTextView, чтобы отображать их при вводе.

Установите адаптер в текстовое поле:

ArrayAdapter<String> namesAdapter = new ArrayAdapter<String>(getBaseContext(), android.R.layout.simple_dropdown_item_1line, names);
searchBox.setAdapter(namesAdapter);

searchBox.setOnItemClickListener(new OnItemClickListener() {

       public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) {
            String email = searchBox.getText().toString(); //or use the position to reference the email address you want.

        });
}
  • 0
    Моя проблема заключается в получении списка электронных писем. Я хочу, чтобы этот TextView давал мне советы, как и мой браузер, когда я нахожусь в своей учетной записи Gmail. Письма, которые я имею в своем аккаунте, не являются необходимыми письмами контактов на моем телефоне.
1

Насколько мне известно, Gmail использует адресную книгу Gmail для предложений. Для ваших предложений вы можете использовать Контакты своего телефона, которые в случае, если вы синхронизировали их с вашей адресной книгой Gmail, они также доступны в Контакты.

Надеюсь это поможет! Если вам нужно что-то более конкретное, пожалуйста, не стесняйтесь спрашивать.

  • 0
    У вас есть пример того, как я могу получить адреса электронной почты из своей учетной записи Gmail, я просто хочу указать, что у меня нет контакта в моем телефоне для каждого человека, которому я отправляю электронную почту.
0

"Smartr Contacts" http://smartrcontacts.com/ - хорошее приложение для Gmail и Android и iPhone, которое синхронизирует все контакты ур. N объединяет их по электронной почте tel mob и т.д., Тогда вы можете позвонить по электронной почте, которую хотите от dbase.

  • 0
    Мне нужно что-то, что я могу сделать программно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню