Получение действительно странных длинных имен Контактной группы

Просматривая группы контактов в контактах Google или в приложении "Люди" на моем телефоне HTC Legend, я получаю названия групп, например: "Друзья", "Семья", "VIP", "Избранное" и т. Д....

Но в моем приложении я получаю неправильные имена, такие как
"Семья" стала "Системная группа: Семья"
"Друзья" стали "Системной группой: Друзья"
"Фаворит" стал "Фаворит_5656100000000_3245664334564"

Я использую код ниже, чтобы прочитать эти значения:

public Cursor getFromSystem() {

        // Get the base URI for the People table in the Contacts content
        // provider.
        Uri contacts = ContactsContract.Groups.CONTENT_URI;
        // Make the query.
        ContentResolver cr = ctx.getContentResolver();
        // Form an array specifying which columns to return.
        String[] projection = new String[] {
                ContactsContract.Groups._ID, ContactsContract.Groups.TITLE,
                ContactsContract.Groups.NOTES
        };

        Cursor managedCursor = cr.query(contacts, projection, ContactsContract.Groups.DELETED
                + "=0", null, ContactsContract.Groups.TITLE + " COLLATE LOCALIZED ASC");
        return managedCursor;
    }

Чего мне не хватает?

1 ответ

Решение

Это звучит как ошибка. Один из моих тестовых телефонов имеет правильные / санированные заголовки, в то время как другой имеет неправильный заголовок. Я бы подал это здесь.

Я также осмотрел contacts2.db базы данных, и обнаружил, что SYSTEM_ID колонка, кажется, очищена - но это, вероятно, небезопасно для использования в целях отображения.

Другие вопросы по тегам