Facebook分享对话框未显示片段

时间:2017-03-27 22:32:58

标签: android facebook dialog

我使用以下代码在Facebook上分享网址+图片:

public void simpleShare(String toShare, Uri uriImage) {
        Log.d(TAG,"simpleShare, toShare: " + toShare + ", uri: " + uriImage);
        ShareDialog shareDialog = new ShareDialog(getActivity());

        ShareLinkContent linkContent = new ShareLinkContent.Builder()
                .setImageUrl(uriImage)
                .setContentUrl(Uri.parse(toShare))
                .build();

        shareDialog.show(linkContent);

    }

此代码位于扩展DialogFragment的类中。如果从Activity调用,则facebook对话框正确显示,但如果从Fragment调用它则无法正常工作。这仅在Android 4上发生,而不是在Android 5上发生(即在Android 5上甚至从片段中工作正常)。知道为什么会这样吗? 我可以确保来自活动或片段的调用完全相同,我使用日志来比较它们。

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用以下代码: 代替getActivity使用该类,并首先将imageurl解析器删除到contentur中

ShareLinkContent content = new ShareLinkContent.Builder()
                .setContentUrl(Uri.parse(url))
                .setQuote(msg)
                .build();

        if (ShareDialog.canShow(ShareLinkContent.class)) {
            ShareDialog.show(activity, content);
            result.success("success");
        }

新的facebook SDK更改了一些使对话框共享运行的方法,而它们并没有为我们提供许多有关文件以及如何提供文件