2013-07-01 10 views
6

Ho scritto un'app per gli SMS, che mostra le foto dei contatti dei miei contatti nella panoramica.contatto esterno (ad esempio facebook) su android

Ottenere "normali" le foto non è un problema:

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

Il problema è: le foto dei contatti forniti da esempio facebook non ci sono, come posso ottenere anche queste foto "esterne"?

+0

questo è stato risposto qui penso: http://stackoverflow.com/questions/3709607 – AndyBeans

+0

hm. la [risposta collegata] (http://stackoverflow.com/questions/3845570/get-contacts-photo-which-are-synced-with-facebook-for-android/4506152#4506152) dice che ho bisogno di Facebook API. Non voglio aggiungere il permesso di internet. – kelunik

+0

Bene, devi usare l'API visto che stai richiedendo foto da Facebook. Una possibile soluzione sarebbe quella di leggere le immagini incassate degli utenti amici dalla cartella dell'app di Facebook, ma non si può essere sicuri che le versioni più recenti dell'app Facebook utilizzeranno la stessa cartella. – PSIXO

risposta

0

Ho fatto molte ricerche su questo argomento. Sembra che Facebook abbia inserito alcune autorizzazioni che consentono l'accesso solo da diverse app di sistema e nessuna app di terze parti.

Si veda ad esempio questo link: https://groups.google.com/forum/#!topic/android-developers/lREN16Hh4LQ

Ho anche cercato di decodificare il file AndroidManifest.xml dalla app facebook, ma anche l'aggiunta delle autorizzazioni che usano internamente non mi ha concedere l'accesso.

Gli utenti possono installare i propri strumenti di sincronizzazione (disponibili nel Play Store) per sincronizzare il contatto con Facebook. Funziona alla grande Posso caricare le immagini del profilo sui dispositivi con tali strumenti installati.

Personalmente sono un po 'deluso dal fatto che Facebook limiterebbe tale accesso. Dovrebbero aver aggiunto un permesso personalizzato per questo.

Problemi correlati