其他分享
首页 > 其他分享> > 在Android中获取收藏联系人

在Android中获取收藏联系人

作者:互联网

我正在尝试将所有联系人都放在Android联系人的收藏夹列表中.目前,我可以获取所有组ID,包括最喜欢的组ID.但似乎没有联系人将组ID作为最喜欢的组ID.

我正在尝试在每个组中获取所有组ID和联系人.打印完两个列表后,我发现收藏夹的组ID不在联系人列表中

ArrayList<String> favGroupId=new ArrayList<String>();
        final String[] GROUP_PROJECTION = new String[] {
                ContactsContract.Groups._ID, ContactsContract.Groups.TITLE };
        Cursor  cursor = getContentResolver().query(
        ContactsContract.Groups.CONTENT_URI, GROUP_PROJECTION, null,
                null, ContactsContract.Groups.TITLE);

        while (cursor.moveToNext()) {
            String id = cursor.getString(cursor
                    .getColumnIndex(ContactsContract.Groups._ID));
            Log.v("Test",id);

            String gTitle = (cursor.getString(cursor
                    .getColumnIndex(ContactsContract.Groups.TITLE)));

            Log.v("Test",gTitle);
            if (gTitle.contains("Favorite_")) {
                gTitle = "Favorites";
                favGroupId.add(id);
            }
        }
        cursor.close();

解决方法:

您可以使用ContactsContract.Contact类中的STARRED字段.如果您将查询更改为:

Cursor cursor = this.managedQuery(
    ContactsContract.Contacts.CONTENT_URI, projection, "starred=?",
    new String[] {"1"}, null);

这应返回Android上默认联系人应用中“收藏夹”选项卡中显示的所有联系人列表.

标签:favorites,android,addressbook,contacts
来源: https://codeday.me/bug/20190925/1817655.html