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

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

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

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

27.06.2014, 17:03. Просмотров 734. Ответов 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
Доброго времени суток! Подскажите пожалуйста, как в Android можно поднять свой сервис для синхронизации туда контактов в телефонную...

Получить контакт из телефонной книги - Программирование Android
Домашнее задание. Помогите решить, уже 3 сутки не могу понять putExtra и getExtra. Условие: Получить контакт из телефонной книги в...

Отправить смс на номер из телефонной книги - Программирование Android
Можете помочь в этом вопросе: "Как отправить смс на номер из телефонной книги" ? Как бы сначало нужно получить список всех контактов и...

Как достать из телефонной книги адреса чатов, адреса проживания и сайты - Программирование Android
Здравствуйте, как достать из телефонной книги адреса чатов, адреса проживания и сайты. телефоны и имейлы я понял как достать, вот кусок...

Реализация телефонной книги - C++/CLI WinForms
Код не работает , не могли бы подсказать где ошибка?? #pragma once namespace Vicprak3 { using namespace System; using...

Ошибочка в коде телефонной книги - C++
Добрый день. Задача - написать телефонную книгу. Все работает, но... когда сначала добавляю контакт, потом удаляю и вывожу список......

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
GukZiLLA
35 / 35 / 2
Регистрация: 30.11.2013
Сообщений: 102
01.07.2014, 09:51  [ТС] #2
UPDATE!

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

помогите)

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

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

Добавлено через 19 часов 29 минут
Никто никогда и не разу в жизни не работал с телефонным справочником?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2014, 09:51
Привет! Вот еще темы с ответами:

Как сделать класс телефонной книги? - Python
Здравствуйте, несколько дней назад начал изучать питон и столкнулся с сложностью в создании классов. Есть программа телефонная книга...

Скрипт на perl для телефонной книги - Perl
добрый день. нужна помощь знающих людей. есть база данных телефонов и сотрудников предприятия. база даннных postgresSQL. написал форму для...

Задача: написать программу электронной телефонной книги - C++
Ребят выручайте плиз :) Очень Очень нужна эта задачка. Задача: написать программу электронной телефонной книги. Спецификация : -...

Получение песен из контакта - C#
Хочется получить список песен из ВК. Получить их колличество проблем не вызывает, а вот вывести их не могу, не пойму как это сделать ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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