android - 公司名称如何处理?

标签 android

我尝试获取联系人的公司名称,但我找到的所有示例均基于联系人数据结构,而不是基于 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/

相关文章:

android - 从构造函数中的自定义属性获取动画

java - toString 不适用于 getSelectedItem - Android

android - 如何在YouTube Player API中播放多个视频?

java - Spring LibGDX And​​roid 应用程序中缺少 java.beans.Introspector

android - OpenUDID 的工作原理

android - 如何在服务或接收器中使用没有 XML 和 PreviewView 的 CameraX?

android - 在编译 Kotlin 代码之前从 gradle 运行 CMake

android - runOnUiThread 未在 AsyncTask 中运行

android - 根据系统日历突出显示下拉菜单中的项目 - Android

android - Retrofit2-AWS S3 多部分图像文件损坏问题