【发布时间】:2014-11-10 00:23:31
【问题描述】:
我快疯了。
我需要在我的 android 应用程序中添加一个简单的 Facebook 分享功能,用户可以在其中分享一些文本和保存在应用程序中的图像。
在发现在这种情况下使用意图没有帮助之后,我开始使用 Facebook SDK。
在已经花费了很多时间之后,当我直接从设备上的 Android Studio 运行应用程序时,我终于可以分享一张图片了。因此,所有 facebook 应用程序 ID 和内容提供程序设置都可以正常工作。
最后,我创建了一个 .apk 并对其进行了测试。在这种情况下,共享不起作用。共享对话框出现并在 2 秒后自行消失。
在搜索了可能的答案后,我登录了我的 facebook 开发者帐户并更改了以下设置:
但这没有帮助。
最后,我在我的 facebook 开发者帐户中看到我可以提交应用程序以供批准:
但我想知道,为什么我要为一个简单的共享功能这样做。有人知道,这种情况是否需要facebook的提交过程?
感谢您的帮助。
这是我的共享代码(就像我说的,当我直接从 Android Studio 运行应用程序时,一切正常,我能够共享图像):
if (FacebookDialog.canPresentShareDialog(getActivity().getApplicationContext(),
FacebookDialog.ShareDialogFeature.SHARE_DIALOG)) {
OpenGraphObject recipe = OpenGraphObject.Factory.createForPost("my_namespace:object");
recipe.setProperty("title", getResources().getString(R.string.share_title));
recipe.setProperty("description", getResources().getString(R.string.share_text));
recipe.setProperty("og:image", getImageContentPathForRecipeUri(mRecipe.getImageUri()));
OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
action.setType("og.likes");
action.setProperty("object", recipe);
FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(getActivity(), action, "object")
.setFragment(this)
.build();
facebookUIHelper.trackPendingDialogCall(shareDialog.present());
}
【问题讨论】: