android - 无法通过 Android 下载 Facebook 用户个人资料图片

标签 android facebook

我的问题是,我无法通过 ID 下载用户个人资料图片。当我使用浏览器和这个 URL 时,我能够获取用户个人资料图片:

http://graph.facebook.com/janno.hindrekson/picture?type=small

我可以看到这个用户的个人资料图片: enter image description here

但是当我想通过Android获取这张照片时,我做不到

    // Execute the task
    new LoadImage().execute("http://graph.facebook.com/janno.hindrekson/picture?type=small");


}

private class LoadImage extends AsyncTask<String, String, Bitmap> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(TESTPROFILEPICT.this);
        pDialog.setMessage("Loading Image ....");
        pDialog.show();
    }

    protected Bitmap doInBackground(String... args) {
        try {
            bitmap = BitmapFactory.decodeStream((InputStream) new URL(args[0]).getContent());
        } catch (Exception e) {
            e.printStackTrace();
        }
        return bitmap;
    }

    protected void onPostExecute(Bitmap image) {
        if (image != null) {
            fbUserAvatar.setImageBitmap(image);
            pDialog.dismiss();
        } else {
            pDialog.dismiss();
            Toast.makeText(TESTPROFILEPICT.this, "Image Does Not exist or Network Error", Toast.LENGTH_SHORT).show();
        }
    }
}

有什么想法吗?我应该如何通过 Android 下载个人资料图片?

谢谢, 凯文

最佳答案

我也有这个问题。尝试用相应的 facebookId 替换名称。

new LoadImage().execute("http://graph.facebook.com/100001997422983/picture?type=small");

编辑

我知道这个问题在 stackoverflow 上被问过好几次。

无论如何,原因是 facebook 重定向了该 url。因此,您必须调用重定向的 url。 这是一个很好的例子:

http://www.mkyong.com/java/java-httpurlconnection-follow-redirect-example/

或者您必须使用 Facebook API: https://developers.facebook.com/docs/graph-api/reference/user/picture/

我选择了redirect-method,因为它是通用的,你可以从整个互联网上获取图片。

关于android - 无法通过 Android 下载 Facebook 用户个人资料图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28383481/

相关文章:

android - Rhomobile 与 MoSync/Phonegap/HTML5

facebook - 产品目录 api 失败

java - Android FacebookAPI - newMeRequest 永远不会返回到 onCompleted

java - 持久保存数据

android - onMeasure() : futuresimple/floating-action-button 子项上的空指针异常

android - 如何实现类似 Google 搜索中的 ActionBar 滚动动画?

facebook - meteor Facebook 登录。链接新域名后不起作用

android - onClick 上的 ListView 和 ListItem 行为

javascript - Facebook API : checking if user is logged in on connect

facebook - 通过 API 列出 Facebook 群组的成员