如何从Android联系人获取以下字段?我使用的是Android 2.2。

  • 名称前缀
  • 中间名
  • 姓氏
  • 名称前缀
  • 拼音名称
  • 语音中间名
  • 语音姓氏
  • 最佳答案

    查看ContactsContract.CommonDataKinds.StructuredName类。您可以在其中找到要查找的所有列。尝试这样:

        String whereName = ContactsContract.Data.MIMETYPE + " = ?";
        String[] whereNameParams = new String[] { ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE };
        Cursor nameCur = contentResolver.query(ContactsContract.Data.CONTENT_URI, null, whereName, whereNameParams, ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME);
        while (nameCur.moveToNext()) {
            String given = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME));
            String family = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME));
            String display = nameCur.getString(nameCur.getColumnIndex(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME));
        }
        nameCur.close();
    

    它返回联系人中的所有名称。更精确地说,您可以将联系人ID作为附加参数添加到查询中-您将获得特定联系人的地址。

    08-25 23:16