【问题标题】:Error retrieving contact group id in Android 2.1+在 Android 2.1+ 中检索联系人组 ID 时出错
【发布时间】:2011-10-05 11:23:11
【问题描述】:

基本上,事情更像是黑白的,在一部手机 (Galaxy S) 上可以正常工作,而在另一部手机(Nexus 手机,当然是我的客户的)上则不行。

首先,我显示一个包含电话号码的联系人列表。用户选择备份联系人,我尝试加载所有联系人信息以将其存储在本地数据库中

cursor = contentResolver.query(ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, id), null, null, null, null);

if (cursor != null && cursor.getCount() >0)
{
    cursor.moveToFirst();

    id = cursor.getLong(cursor.getColumnIndex(ContactsContract.Contacts._ID));
    //get all the things I need like phones, picture, etc

}

使用这个 id 我尝试获取联系人的组 id

cursor = contentResolver.query(ContactsContract.Data.CONTENT_URI,
                     null,
                     ContactsContract.Data.RAW_CONTACT_ID
                        + "="
                        + id
                        + " AND "
                        + ContactsContract.Data.MIMETYPE
                        + "='"
                        + ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE
                        + "'",
                        null,
                        null);
            if (cursor != null && cursor.getCount() >0)
            {
                cursor.moveToFirst();

                groupId= cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DATA1));
                cursor.close();
            }

好吧,通过添加新联系人进行测试,在我的手机上我得到 groupId=1,意思是 System:My Contacts。在 Nexus One 上,组 ID 为 null。当然,在我的手机上恢复正常,而在另一部手机上,联系人是不可见的,因为它不属于任何可见的组......

有什么想法吗?

【问题讨论】:

    标签: android backup contacts android-contacts


    【解决方案1】:

    问题是一个误解...我需要获取原始联系人 ID,并且我使用了 ContactID.. 所以,在搜索 GroupId 之前,我需要获取联系人原始 ID

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-16
      • 1970-01-01
      • 1970-01-01
      • 2015-04-17
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      相关资源
      最近更新 更多