【问题标题】:Android share picture on facebook with hashtagAndroid 在 facebook 上分享带有标签的图片
【发布时间】:2026-02-02 10:30:01
【问题描述】:

这是我的问题:我想让我的应用能够使用自动设置的主题标签在 Facebook 上分享图片。 我搜索了 facebook 文档,并尝试了一些代码。

我目前可以登录并发布图片,完全没有问题,但我看不到主题标签(或任何错误)

这是我的代码:

     sharedialog = new ShareDialog(this);

     SharePhoto photo = new SharePhoto.Builder()
                .setBitmap(bitmap)
                .build();
        SharePhotoContent content = new SharePhotoContent.Builder()
                .addPhoto(photo)
                .setShareHashtag(new ShareHashtag.Builder()
                        .setHashtag("#FollowTheSun")
                        .build())

                .build();

        if (sharedialog.canShow(content)) {
            ShareDialog.show(this, content);
        }

我做错了什么? 感谢您的帮助!

【问题讨论】:

  • 你解决过这个问题吗?我也有同样的问题。
  • 我什么也没做,但它目前正在工作。
  • 你是对的,它适用于上面粘贴的代码。感谢您的解决方案。我正要拔头发。
  • 嗨,你有什么解决办法吗?

标签: android facebook sharing


【解决方案1】:

请试试这个

public void shareFb() {


    if (isFacebookExist()) {


        if (CheckButton.isChecked()) {


            SharePhoto sharePhoto = new SharePhoto.Builder()
                    .setBitmap(updateImage)//image location
                    .build();


            if (ShareDialog.canShow(SharePhotoContent.class)) {
                SharePhotoContent content = new SharePhotoContent.Builder()
                        .addPhoto(sharePhoto)
                        .setShareHashtag(new ShareHashtag.Builder()
                                .setHashtag("#YOURHASHTAG")
                                .build())
                        .build();
                shareDialog.show(content);
            }

        } else {

            SharePhoto sharePhoto = new SharePhoto.Builder()
                    .setBitmap(updateImage)
                    .build();


            if (ShareDialog.canShow(SharePhotoContent.class)) {
                SharePhotoContent content = new SharePhotoContent.Builder()
                        .addPhoto(sharePhoto)
                        .build();
                shareDialog.show(content);
            }

        }


    } else {
        showToast(" Facebook is not install.");
    }

}
    private boolean isFacebookExist() {

    PackageManager pm = getPackageManager();
    try {
        PackageInfo info = pm.getPackageInfo("com.facebook.katana", PackageManager.GET_META_DATA);
    } catch (PackageManager.NameNotFoundException e) {
        return false;
    }
    return true;
}

【讨论】:

  • 如果 (CheckButton.isChecked()) 是什么
  • CheckButton 是 Xml 检查按钮,在这里我检查如果单击按钮会发生什么情况