Вывод ответа #1865679319

-

Программируем на смартфоне

Программируем на Android смартфоне

{autor_name}


{text_rank}
репутация: {repa}
{registration_date}
сообщений: {posts}
{tel_link}
#{postnumber_id}

Решил я не юзать намерение, а вывести информацию в своем списке. Вот метод, возвращающий Map<String, ArrayList<String>> вида {name=[email1, ...], ...}

	
private HashMap<String, ArrayList<String>> emailsMap = new HashMap<String, ArrayList<String>>();
public HashMap<String, ArrayList<String>> getNameEmailDetails() {
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
if (cur.getCount() > 0) {
while (cur.moveToNext()) {
ArrayList<String> item = new ArrayList<String>();
String id = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
Cursor cur1 = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ?", new String[]{id}, null);
String name = null;
while (cur1.moveToNext()) {
name = cur1.getString(
cur1.getColumnIndex(
ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String email = cur1.getString(
cur1.getColumnIndex(
ContactsContract.CommonDataKinds.Email.DATA));
if (email != null) {
item.add(email);
}
} cur1.close();
if (item.size() > 0) {
emailsMap.put(name, item);
}
}
cur.close();
}
return emailsMap;
}


ответ опубликован:
Рейтинг: 5
голосов: 2



Яндекс.Метрика