我有这个代码来获取联系人的名字和姓氏:
uri = ContactsContract.Data.CONTENT_URI;
Cursor curName = getContentResolver().query(uri, null, ContactsContract.Data.CONTACT_ID +" = "+ contactId, null, null);
if (curName.getCount() > 0){
curName.moveToFirst();
String nameGiven = curName.getString(curName.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
String nameFamily = curName.getString(curName.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
log += nameGiven + ", " + nameFamily + ": ";
}
我只有一个联系人,所以我不需要循环。在 2.3.5 设备上它工作正常,返回正确的名称。但在 4.0.4 设备上,这两个字段都返回 null,但如果请求显示名称,它会正确提供。
可能是什么问题呢?