Хорошо, я пытаюсь скопировать ярлыки, которые помещаются на домашний экран при создании ярлыка контакта, показанный пример:
У меня есть рабочий QuickContactBadge, который при нажатии показывает панель инструментов QuickContact. Однако у меня есть две проблемы, с которыми я сталкиваюсь.
Одна картинка. Я попытался использовать код из этого вопроса (я изменил его, добавив параметр для передачи идентификатора контакта). Затем я назначаю изображение моему QuickContactBadge следующим образом:
bdg.setImageURI(getPhotoUri(cid));
Он определенно получает фотографии, но он получает совершенно неправильную картинку. Как показано здесь:
Как видите, изображение, которое оно вернуло для 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. Существует ли какой-либо встроенный способ, позволяющий легко воспроизвести ярлык контакта во всей его полноте, вызове, изображении, тексте и т. Д. Без необходимости воспроизводить все это с нуля?