Получение действительно странных длинных имен Контактной группы
Просматривая группы контактов в контактах 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
колонка, кажется, очищена - но это, вероятно, небезопасно для использования в целях отображения.