android - 获取与 facebook for android 同步的联系人照片

标签 android facebook contacts sync image

我试图在我的应用程序中显示联系人图片,但我得到的是仅手动添加的图片,而不是与 Facebook 同步的图片。如何解决这个问题?下面是我的代码:

Uri uri = ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.parseLong(PhotoId));
InputStream input = ContactsContract.Contacts.openContactPhotoInputStream(context.getContentResolver(), uri);
return BitmapFactory.decodeStream(input);

最佳答案

它不适用于仅从 FB 同步的联系人。您需要使用 FB 图形 API 并从那里获取照片;并且您需要知道联系人的 Facebook 名称。

 Bitmap contactPhoto = getImageBitmap("http://graph.facebook.com/mathiaslin/picture?type=square");

 final private static Bitmap getImageBitmap(String url) {
    Bitmap bm = null;
    try {
        URLConnection conn = new URL(url).openConnection();
        conn.connect();
        InputStream is = conn.getInputStream();
        BufferedInputStream bis = new BufferedInputStream(is);
        bm = BitmapFactory.decodeStream(bis);
        bis.close();
        is.close();
    } catch (IOException e) {
        Log.e(TAG, "Error getting bitmap", e);
    }
    return bm;
}

关于android - 获取与 facebook for android 同步的联系人照片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3845570/

相关文章:

android - 位置管理器 ProxmityAlert 总是说进入

Facebook Graph API 和使用持久流 key 的实时流媒体

c# - 如何使用 MAPI 获取 Outlook 联系人组?

iphone - iOS Facebook SDK,如何在App内登录,而不是在safari中登录

powershell - 获取联系人通讯组

Android securityException 和用户联系人

android - 检测 CheckBox 是否被选中并调用 Visibility - Android

Android - 在录制视频时添加文本或图像?

android - 如何为OkHttp中的数据流编写重试拦截器?

android - Facebook 帐户套件 - 在 OTP 屏幕 UI、Android 上自动插入 OTP 代码