【问题标题】:Android ContactsProvider: How to get name and phone number in one row for specific contact?Android ContactsProvider:如何在一行中获取特定联系人的姓名和电话号码?
【发布时间】:2015-03-11 14:58:09
【问题描述】:
我想检索一个光标,其中一行中同时包含姓名和电话号码。这样做的方式是否漂亮,没有任何循环?
Uri uri = ContactsContract.Data.CONTENT_URI;
getContentResolver().query(uri,
new String[] {ContactsContract.Data._ID, Phone.NUMBER, StructuredName.GIVEN_NAME}, null, null, null)
【问题讨论】:
标签:
java
android
android-contentprovider
android-contacts
contactscontract
【解决方案1】:
我用来获取联系人的代码是:
Cursor cursor = getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null,null, null);
String Contactos =" CONTACTOS DEL TELEFONO "+cursor.getCount()+"\n";
while (cursor.moveToNext()) {
String name =cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String phoneNumber = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
Contactos+="Nombre: "+name+"\n"+
"Telefono: "+phoneNumber+"\n"+
"----------------------------\n";
}
然后将 Contactos 添加到文本视图中,仅此而已!
再见!