我尝试获取联系人的公司名称,但我找到的所有示例均基于联系人数据结构,而不是基于 ContactsContract 数据结构。
我找到了一个应该与此代码一起使用的示例:
// 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 包含电话号码而不是公司名称。
有没有人熟悉处理这个“奇怪”的组织信息???
问候,
最佳答案
好的,我通过“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);
关于android - 公司名称如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20251065/