0

我正在使用此代码从 URL 共享链接和图像

private UiLifecycleHelper uiHelper
    String fbPhotoAddress = null;       

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
uiHelper = new UiLifecycleHelper(this, null);
        uiHelper.onCreate(savedInstanceState);


    }

void btn_clicked(View view)
{
FacebookDialog shareDialog = new FacebookDialog.ShareDialogBuilder(this)
            .setApplicationName("fiver").
            setLink("https://play.google.com/store/")
            .setPicture("http://www.sweetkidsapps.com/wp-content/uploads/2013/02/cool-coloring-great-kids-app.jpg")
            .build();

            uiHelper.trackPendingDialogCall(shareDialog.present());

}

它工作正常,但问题是我想在 Facebook 上上传图片并获取它的 URL 以在 setPicture 中发送,我该怎么做?

ps 我在谷歌上查到的东西大多已经过时了。

4

1 回答 1

0

我不确定您是否以正确的方式思考它。

Facebook 分享对话框允许您从 URL 发布图片以及其他内容,如链接、描述、标题和名称。

包含所有这些数据的帖子将在没有任何额外许可的情况下发布。

如果您想从本地上传和发布图片,您需要执行以下操作:

   Request request = Request.newUploadPhotoRequest(
            session,
            ((BitmapDrawable) getResources().getDrawable(
                    R.drawable.picture)).getBitmap(), callback);
    RequestAsyncTask task = new RequestAsyncTask(request);
    task.execute();

这种方式的问题是您需要在您的 facebook 应用程序中添加“publish_actions”权限,并登录到 facebook 以获得活动的“会话”。

更多信息在这里 --> https://developers.facebook.com/docs/facebook-login/permissions/v2.1

在这里 --> https://developers.facebook.com/docs/android/share/

我可以建议将您的图片上传到某个地方,例如保管箱公共文件夹,然后从那里获取网址吗?这非常容易

于 2014-10-17T11:41:30.887 回答