gpt4 book ai didi

android - 从 Android 联系人中获取联系人姓名和姓氏

转载 作者:太空狗 更新时间:2023-10-29 15:15:39 24 4
gpt4 key购买 nike

我正在构建一个需要从 Android 联系人中选择联系人的应用。我这样做并在我的应用程序中使用以下代码从所选联系人中检索姓名和姓氏(在 onActivityResult 中)。

Cursor namesc = getContentResolver().query( ContactsContract.Data.CONTENT_URI, null, ContactsContract.Data.CONTACT_ID + " = " + id,null, null);
if (namesc.moveToFirst()) {
String name = namesc.getString(namesc.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
String family = namesc.getString(namesc
.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
String middle = namesc.getString(namesc
.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME));

它在 HTC 手机和其他一些手机中运行良好,但在许多 SE Xperia 型号和一些三星设备中它不能给我姓名和家庭并返回 null。谁能帮帮我?

最佳答案

这是我使用的代码:

        String structuredNameWhere = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?"; 
String[] structuredNameWhereParams = new String[]{id, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE};
cursor = resolver.query(ContactsContract.Data.CONTENT_URI, null, structuredNameWhere, structuredNameWhereParams, null);
if (cursor.moveToFirst())
{
String StructuredNameId = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName._ID));
String prefix = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.PREFIX));
String givenName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
String middleName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME));
String familyName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
String suffix = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.SUFFIX));
}

我真正看到的唯一区别是我将 mime 类型添加到 where 参数并且我检索数据的方式略有不同。

关于android - 从 Android 联系人中获取联系人姓名和姓氏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12995436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com