如何从uri获取联系人ID?
Posted
技术标签:
【中文标题】如何从uri获取联系人ID?【英文标题】:How to get contact id from uri? 【发布时间】:2015-11-02 18:40:39 【问题描述】:我想获取特定的联系人 ID 和姓名。获得它的最佳方法是什么?
if (requestCode == mActions.REQUEST_PICK_CONTACT && resultCode == RESULT_OK)
Uri uriContact = (Uri)data.getData();
String/int id = ???
String name = ???
String phoneNumber = ???
我只想获取我选择数据的联系人,而不是所有联系人。我该怎么做?
【问题讨论】:
uriContact.getPath()
包含什么?
看看这个答案***.com/a/17067006/2278598
【参考方案1】:
如果您有联系人 URI,这就是您获取联系人元数据的方式。
String id, name, phone, hasPhone;
int idx;
Cursor cursor = getContentResolver().query(contactUri, null, null, null, null);
if (cursor.moveToFirst())
idx = cursor.getColumnIndex(ContactsContract.Contacts._ID);
id = cursor.getString(idx);
idx = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
name = cursor.getString(idx);
idx = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER);
hasPhone = cursor.getString(idx);
【讨论】:
以上是关于如何从uri获取联系人ID?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 android (CallLog.Calls.CONTENT_URI) 表中获取联系人姓名?
从 Android 联系人数据库获取联系人 ID 未按预期工作
无法从 ContactsContract.Contacts.CONTENT_URI 获取已删除的联系人