Попытка репликации домашнего экрана Android. Ярлыки контактов, с проблемами. - PullRequest
0 голосов
/ 02 мая 2011

Хорошо, я пытаюсь скопировать ярлыки, которые помещаются на домашний экран при создании ярлыка контакта, показанный пример:

enter image description here

У меня есть рабочий QuickContactBadge, который при нажатии показывает панель инструментов QuickContact. Однако у меня есть две проблемы, с которыми я сталкиваюсь.

Одна картинка. Я попытался использовать код из этого вопроса (я изменил его, добавив параметр для передачи идентификатора контакта). Затем я назначаю изображение моему QuickContactBadge следующим образом:

bdg.setImageURI(getPhotoUri(cid));

Он определенно получает фотографии, но он получает совершенно неправильную картинку. Как показано здесь:

enter image description here

Как видите, изображение, которое оно вернуло для Domino, явно НЕ является логотипом Domino.

Я получаю свой контактный идентификатор для передачи функции из этого кода:

    public static String[] ContactsProjection = new String[] {
            Contacts._ID,
            Contacts.LOOKUP_KEY, 
            Contacts.DISPLAY_NAME
    };

    public static Cursor getContacts() {
            ContentResolver cr = CoreLib.ContentResolver();
            Cursor contacts = cr.query(
                    ContactsContract.Data.CONTENT_URI, 
                    ContactsProjection, 
                    null, null, 
                    Contacts.TIMES_CONTACTED + " DESC"
            );
        return contacts;
    }

Который, я считаю, должен возвращать мне правильное удостоверение личности для каждой записи. Да?

Далее, как получить уменьшенное изображение или обрезать его, как показывает ярлык?

Я был немного разочарован, увидев, что QuickContactBadge фактически не копирует весь внешний вид ярлыка QuickContact, а просто действует как цель вызова для карточки QuickContact. Существует ли какой-либо встроенный способ, позволяющий легко воспроизвести ярлык контакта во всей его полноте, вызове, изображении, тексте и т. Д. Без необходимости воспроизводить все это с нуля?

1 Ответ

0 голосов
/ 03 мая 2011

Ах, ха!Разобрался, как получить правильное фото.Хотя это кажется нелогичным, при построении вашей полевой проекции для запроса контактов поля Contacts._ID и ContactsContract.Data.CONTACT_ID не одно и то же.

ContactsContract.Data.CONTACT_ID является правильным, чтобы пройти, чтобы получить фотографию.Используйте это, и все теперь золотое.

...