Я пишу приложение, которое отправит электронное письмо с использованием внешней библиотеки Java Mail. Я искал неделю о том, как я могу отображать подсказки адресов электронной почты пользователей, такие как те, которые отображаются в Gmail.
Любая помощь заявляется!
Хорошо, после небольшого копания, вот что я нашел. Возьмите ответ об автоматическом заполнении 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();
Получите список писем и используйте 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.
});
}
Насколько мне известно, Gmail использует адресную книгу Gmail для предложений. Для ваших предложений вы можете использовать Контакты своего телефона, которые в случае, если вы синхронизировали их с вашей адресной книгой Gmail, они также доступны в Контакты.
Надеюсь это поможет! Если вам нужно что-то более конкретное, пожалуйста, не стесняйтесь спрашивать.
"Smartr Contacts" http://smartrcontacts.com/ - хорошее приложение для Gmail и Android и iPhone, которое синхронизирует все контакты ур. N объединяет их по электронной почте tel mob и т.д., Тогда вы можете позвонить по электронной почте, которую хотите от dbase.