Android:Facebook SDK 4.x中的共享对话框类是什么

Ash*_*awy 7 android facebook facebook-graph-api

我正在使用下面的代码打开Facebook页面URL的Facebook共享对话框.

问题是,当我通过Facebook应用程序查看我墙上的共享帖子时,我发现没有共享页面封面的帖子.

如果我通过我的墙上的Facebook应用程序共享同一页面,我会找到带有共享页面封面的帖子(当然这更酷).

下面的代码中是否缺少参数?

我正在使用Facebook SDK 4.1.2

    FacebookDialog shareDialog = new ShareDialog(mMainActivity);
    if (ShareDialog.canShow(ShareLinkContent.class))
    {
        ShareLinkContent linkContent = new ShareLinkContent.Builder()
                .setContentUrl(Uri.parse(aFacebookPageURL))
                .build();


        shareDialog.show(linkContent);
    }
Run Code Online (Sandbox Code Playgroud)

编辑1:

使用.setImageUrl(Uri.parse(aPageCoverURL))

您可以看到上半部分(通过Facebook移动应用程序共享)和下半部分(通过我的应用程序共享)之间的差异.

在此输入图像描述

编辑2:如何使用以下代码共享Facebook页面?下面的代码不起作用,没有出现共享对话框,我不知道是否有缺少参数或者此代码不是为了共享页面,但我正在尝试.

    ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
            .putString("og:type", "page")
            .putString("og:title", aTitle)
            .putString("og:url", aURL)
            .build();

    // Create an action
    ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
            .setActionType(null)
            .putObject("page", object)
            .build();

    ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
            .setPreviewPropertyName("page")
            .setAction(action)
            .build();

    ShareDialog.show(mMainActivity, content);
Run Code Online (Sandbox Code Playgroud)

Mat*_*ini 2

来自 Facebook文档

链接

当人们将您的应用程序的链接分享到 Facebook 时,它会包含帖子中显示的属性:

  • contentURL ,要共享链接
  • contentTitle表示链接内容的标题
  • a imageURL,将出现在帖子中的缩略图的 URL
  • a content 内容的描述,通常是2-4句话

如果你想显示图像,你应该使用setImageUrl(@Nullable Final Uri imageUrl)

ShareLinkContent linkContent = new ShareLinkContent.Builder()
                .setContentUrl(Uri.parse(aFacebookPageURL))
                .setImageUrl(Uri.parse(imageUrl))
                .build();
Run Code Online (Sandbox Code Playgroud)

这是SDK的分享:

在此输入图像描述

这是直接来自应用程序的共享:

在此输入图像描述