如何处理公司名称?

时间:2013-11-27 19:11:12

标签: android

我试图获取联系人的公司名称,但我找到的所有示例都基于联系人数据结构而不是联系人合同。

我找到了一个应该使用此代码的示例:

                // 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包含电话号码而不是公司名称。

有没有人熟悉这个“奇怪的”组织信息?

此致

1 个答案:

答案 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);