我试图获取联系人的公司名称,但我找到的所有示例都基于联系人数据结构而不是联系人合同。
我找到了一个应该使用此代码的示例:
// Get Organizations.........
String orgWhere = ContactsContract.Data.CONTACT_ID + " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?";
String[] orgWhereParams = new String[]{id,
ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE};
Cursor orgCur = cr.query(ContactsContract.Data.CONTENT_URI,
null, orgWhere, orgWhereParams, null);
if (orgCur.moveToFirst()) {
String orgName = orgCur.getString(orgCur.getColumnIndex(ContactsContract.CommonDataKinds.Organization.DATA));
String title = orgCur.getString(orgCur.getColumnIndex(ContactsContract.CommonDataKinds.Organization.TITLE));
}
orgCur.close();
不幸的是,当我执行此代码时,orgName包含电话号码而不是公司名称。
有没有人熟悉这个“奇怪的”组织信息?
此致
答案 0 :(得分:2)
好的,我发现它归功于“http://www.cnblogs.com/lycoris/archive/2011/05/13/2037716.html”代码。这不是访问字段的问题:
初始化光标的正确方法是:
Cursor cCur = cr.query(ContactsContract.Data.CONTENT_URI,
null,
ContactsContract.Data.CONTACT_ID
+ " = ? AND " + ContactsContract.Data.MIMETYPE + " = ?",
new String[] { id,
ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE },
null);