使用带有本地图像的 facebook-android-sdk 从 Android 应用分享 link

Share a link from Android App using facebook-android-sdk with local image

我的 android 应用程序使用 facebook-android-sdk:4.14.0 分享一个 link。我使用 ShareLinkContent 创建共享内容并调用 setImageUrl() 来指定图像。我想使用我的应用程序中的图像(而不是来自互联网 url link)在分享 post 上显示。我已经尝试过如下代码但它不起作用:

if (ShareDialog.canShow(ShareLinkContent.class)) {
    ShareLinkContent linkContent = new ShareLinkContent.Builder()
            .setContentTitle("...")
            .setContentDescription("...")
            .setContentUrl(Uri.parse("https://...))
            .setImageUrl(Uri.parse("file:///android_asset/ic_boxworldpro.png"))
            .build();

    shareDialog.show(linkContent);
} else {
    Toast.makeText(MainMenuActivity.this, "Unable to Share...Try again.",
            Toast.LENGTH_SHORT).show();
}

我也尝试使用 drawable 中的图像,但现象是一样的

.setImageUrl(Uri.parse("android.resource://" + getPackageName() + "/" + R.drawable.ic_boxworldpro))

任何人都可以帮助我!!

根据文档here

setImageUrl 应该使用 URL,而不是 Android 平台上穿制服的 Uri

a imageURL, the URL of thumbnail image that will appear on the post

此外,图书馆的 java 文档已明确说明 A network URL of image

public ShareLinkContent.Builder setImageUrl(@android.support.annotation.Nullable android.net.Uri imageUrl)
Set the URL of a picture to attach to this content.
Parameters:
    imageUrl - The network URL of an image.
Returns:
    The builder.