我使用以下代码在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上甚至从片段中工作正常)。知道为什么会这样吗? 我可以确保来自活动或片段的调用完全相同,我使用日志来比较它们。
谢谢!
答案 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更改了一些使对话框共享运行的方法,而它们并没有为我们提供许多有关文件以及如何提供文件