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

由网友(被暴走の少女梦)分享简介:我正在尝试在我的应用程序中显示联系人图片,但我得到的是仅手动添加的图片,而不是与 facebook 同步的图片.如何解决这个问题?下面是我的代码:I am trying to show contact pictures in my application but I am getting pictures of th...

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

I am trying to show contact pictures in my application but I am getting pictures of those who were added manually only and not those which are synced with facebook. How to work around this? Here is my code below:

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 graph API 并从那里获取照片;并且您需要知道联系人的 Facebook 名称.

It doesn't work for contacts that are synced from FB only. You'll need to use the FB graph API and fetch the photo from there; and you need to know the contacts facebook name.

 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;
}
阅读全文

相关推荐

最新文章