Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
#1

Глючит получение id группы по id контакта телефонной книги - Android

27.06.2014, 17:03. Просмотров 712. Ответов 1
Метки нет (Все метки)

Все перерыл, не могу решить проблему

Перепробовал разные методы получения айдишника группы, в которой находится контакт, по айдишнику контакта

Проблема в том, что на одних устройствах правильно отрабатывает, на других - каким-то неведомым методом делит контакты на две части, где одна часть вообще без групп, а вторая с какой-нибудь группой

При этом в контакты захожу и смотрю - они в нормальных группах находятся.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
static long getGroupIdFor(ContentResolver cr, Long contactId){
        
        if(Main.fastLoading) {
            return Long.MIN_VALUE;
        }
        
        String where = String.format(
                "%s = ? AND %s = ?",
                ContactsContract.Data.MIMETYPE,
                ContactsContract.CommonDataKinds.GroupMembership.CONTACT_ID);
 
        String[] whereParams = new String[] {
                ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE,
                Long.toString(contactId),
        };
 
        String[] selectColumns = new String[] {
                ContactsContract.CommonDataKinds.GroupMembership.GROUP_ROW_ID,
        };
 
        Cursor groupIdCursor = cr.query(
                ContactsContract.Data.CONTENT_URI, 
                selectColumns, 
                where, 
                whereParams, 
                null);
        try {
            if(groupIdCursor.moveToFirst()) {
                return groupIdCursor.getLong(0);
            }
            return Long.MIN_VALUE; // Has no group ...
        } finally {
            groupIdCursor.close();
        }
    }
И еще вопрос, можно ли как-то одним запросом, при получении списка всех контактов - получить и группу, не делая выборок?

Добавлено через 1 час 1 минуту
Решено. Вот так работает и левые группы не показывает)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
static long getGroupIdFor(ContentResolver cr, Long contactId) {
        
        if(Main.fastLoading) {
            return Long.MIN_VALUE;
        }
        
        String where = ContactsContract.Data.RAW_CONTACT_ID
                + "="
                + contactId
                + " AND "
                + ContactsContract.Data.MIMETYPE
                + "='"
                + ContactsContract.CommonDataKinds.GroupMembership.CONTENT_ITEM_TYPE
                + "'";
 
        Cursor cursor = cr.query(ContactsContract.Data.CONTENT_URI, null, where, null, null);
        
        String groupId = Long.toString(Long.MIN_VALUE);
        while (cursor.moveToNext()) {
            groupId = cursor.getString(cursor.getColumnIndex(ContactsContract.Data.DATA1));
            
        }
        cursor.close();
        
        return Long.parseLong(groupId);
          
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2014, 17:03     Глючит получение id группы по id контакта телефонной книги
Посмотрите здесь:

Android Преобразование имени контакта в строку
Отправить смс на номер из телефонной книги Android
Как получить данные контакта из Contact Provider Android
Подключение стандартного окна редактирования контакта Android
Android TextView глючит на старых версиях Android и в теме Holo
Custom ExpandableListView перемешиваются группы Android
Android Выбор нужного номера телефона у контакта
Android Глючит кнопка Домой. Что делать?
Глючит ListView Android
Android Получить контакт из телефонной книги
Сервис для телефонной книги Android
Как достать из телефонной книги адреса чатов, адреса проживания и сайты Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
01.07.2014, 09:51  [ТС]     Глючит получение id группы по id контакта телефонной книги #2
UPDATE!

не помогает, все равно на некоторых устройствах нормально определяет группы контактов, а на некоторых тупо присваивает айдишник группы My Contacts, причем есть ли у контакта группа или ее нет - не важно.

помогите)

В чем может быть проблема? в кривом запросе? в разных бд?

первый метод, который я скинул - работает на телефонах, но на некоторых планшетах днс неверно определяет группы
второй делает совершенно противоположное

Добавлено через 19 часов 29 минут
Никто никогда и не разу в жизни не работал с телефонным справочником?
Yandex
Объявления
01.07.2014, 09:51     Глючит получение id группы по id контакта телефонной книги
Ответ Создать тему
Опции темы

Текущее время: 11:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru