внешнее (например, facebook) фото контакта на Android

Я написал смс-приложение, показывающее фотографии моих контактов в обзоре.

Получить «нормальные» фотографии не проблема:

Uri cu = ContentUris.withAppendedId(Contacts.CONTENT_URI, contactId);
final InputStream input = Contacts.openContactPhotoInputStream(getContext().getContentResolver(), cu);
return BitmapFactory.decodeStream(input);

Проблема в том, что фотографии контактов предоставлены напр. фейсбука нет, как мне тоже получить эти "внешние" фото?


person kelunik    schedule 01.07.2013    source источник
comment
здесь был дан ответ, я думаю: stackoverflow.com/questions/3709607   -  person AndyBeans    schedule 10.07.2013
comment
хм. связанный ответ говорит, что мне нужен facebook API. Я не хочу добавлять разрешение на доступ в Интернет.   -  person kelunik    schedule 10.07.2013
comment
Ну, вы должны использовать API, так как вы запрашиваете фотографии из Facebook. Одним из возможных обходных путей может быть чтение кэшированных изображений друзей пользователей из папки приложения Facebook, но вы не можете быть уверены, что более новые версии приложения Facebook будут использовать ту же папку.   -  person Igor Čordaš    schedule 12.07.2013
comment
Не правда. Что-то происходит с синкадаптером facebook. Кажется, он разрешает доступ к Android, но не к сторонним приложениям. Это очень раздражает. Google не загружает фотографии с Facebook вручную. Это работа синкадаптера. Я также сталкиваюсь с этой проблемой, и единственными решениями являются установка различных адаптеров синхронизации для facebook и отключение одного из них в приложении facebook.   -  person nickmartens1980    schedule 12.07.2013


Ответы (1)


Я провел много исследований по этой теме. Мне кажется, что Facebook установил некоторые разрешения, которые разрешают доступ только нескольким системным приложениям, а не сторонним приложениям.

см., например, эту ссылку: https://groups.google.com/forum/#!topic/android-developers/lREN16Hh4LQ

Я также пытался декодировать файл AndroidManifest.xml из приложения facebook, но даже добавление разрешений, которые они используют внутри, не предоставило мне доступа.

Пользователи могут установить свои собственные инструменты синхронизации (доступные в магазине игр) для синхронизации контакта с Facebook. Это прекрасно работает. Я могу загрузить изображения профилей на устройства с установленными такими инструментами.

Лично я немного разочарован тем, что Facebook ограничил такой доступ. Они должны были добавить специальное разрешение для этого.

person nickmartens1980    schedule 12.07.2013