android 上的外部(例如 facebook)联系人照片

Posted

技术标签:

【中文标题】android 上的外部(例如 facebook)联系人照片【英文标题】:external (e.g. facebook) contact photo on android 【发布时间】:2013-06-29 01:16:21 【问题描述】:

我编写了一个短信应用,在概览中显示我的联系人的联系人照片。

获取“正常”照片没问题:

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

问题是:联系人照片由 e.g. 提供。 facebook 不在那里,我怎样才能得到这些“外部”照片?

【问题讨论】:

我认为这里得到了回答:***.com/questions/3709607 嗯。 linked answer 那里说我需要 facebook api。我不想添加互联网权限。 你必须使用 API,因为你从 Facebook 请求照片。一种可能的解决方法是从 facebook 应用程序文件夹中读取用户朋友的兑现图像,但您不能确定较新版本的 Facebook 应用程序将使用相同的文件夹。 不正确。 facebook 同步适配器出了点问题。它似乎允许访问 android 但不允许访问第三方应用程序。这是一个很烦人的。 Google 不会手动从 facebook 下载照片。这是同步适配器的工作。我也遇到了这个问题,唯一的解决方案是为 facebook 安装不同的同步适配器并在 facebook 应用程序中禁用同步适配器。 【参考方案1】:

我对这个话题做了很多研究。我似乎 facebook 已经设置了一些权限,只允许几个系统应用程序访问,不允许第三方应用程序访问。

例如看这个链接:https://groups.google.com/forum/#!topic/android-developers/lREN16Hh4LQ

我还尝试从 facebook 应用程序中解码 AndroidManifest.xml 文件,但即使添加他们在内部使用的权限也没有授予我访问权限。

用户可以安装自己的同步工具(可在 Play 商店中获得)以将联系人与 facebook 同步。这很好用。我可以在安装了此类工具的设备上加载配置文件图像。

我个人对 facebook 会限制此类访问感到有点失望。他们应该为此添加自定义权限。

【讨论】:

以上是关于android 上的外部(例如 facebook)联系人照片的主要内容,如果未能解决你的问题,请参考以下文章

如果我使用他们的 API,我如何反映某些外部来源(例如:Facebook、LinkedIn 等)的用户数据的变化?

Android webView 外部链接 -> 新建 Activity

Android 电视上的 Facebook/Webview 控件

Android 和 iOS 上的 Facebook 用户 ID

Android上的Unity Facebook SDK登录错误

facebook 在 android 上的分享意图是不是仍然失效?