2013-07-01 3 views
6

Я написал приложение для SMS, в котором показаны контактные фотографии моих контактов в обзоре.внешний (например, facebook) фото контакта на android

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

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

Проблема заключается в том: фотографии контактов обеспечивается, например, facebook не существует, как я могу получить эти «внешние» фотографии?

+0

Это был ответ здесь. Я думаю: http://stackoverflow.com/questions/3709607 – AndyBeans

+0

hm. [связанный ответ] (http://stackoverflow.com/questions/3845570/get-contacts-photo-which-are-synced-with-facebook-for-android/4506152#4506152) там говорится, что мне нужна facebook api. Я не хочу добавлять разрешение на Интернет. – kelunik

+0

Ну, вам нужно использовать API, так как вы запрашиваете фотографии у Facebook. Одним из возможных способов решения проблемы было бы чтение обловленных изображений друзей пользователей из папки приложения facebook, но вы не можете быть уверены, что более новые версии приложения Facebook будут использовать одну и ту же папку. – PSIXO

ответ

0

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

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

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

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

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