【发布时间】:2016-08-16 19:09:47
【问题描述】:
我从 2 个活动中以相同的方式调用 ShareDialog:MainActivity 和 ReleaseActivity,但行为不同:从 MainActivity 我共享到 facebook 应用程序,但从 ReleaseActivity 不能这样做。 回调捕获结果(用于测试)
callbackManager = CallbackManager.Factory.create();
shareDialog = new ShareDialog(this);
shareDialog.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Sharer.Result result) {
Log.d("Tracing", "ReleaseActivity 63 onSuccess");
}
@Override
public void onCancel() {
Log.d("Tracing", "ReleaseActivity 68 onCancel");
}
@Override
public void onError(FacebookException e) {
Log.d("Tracing", "ReleaseActivity 74 onError " + e.toString());
e.printStackTrace();
}
});
ShareDialog 代码:
if (ShareDialog.canShow(ShareLinkContent.class)) {
Log.d("Tracing", "ReleaseActivity 100 facebookOnClick");
ShareLinkContent linkContent = new ShareLinkContent.Builder()
.setContentTitle("Test title")
.setContentDescription(
"Test text-description")
.setContentUrl(Uri.parse("http://developers.facebook.com/android"))
.build();
shareDialog.show(linkContent);
Log.d("Tracing", "ReleaseActivity 110 facebookOnClick");
}
Log.d("Tracing", "ReleaseActivity 111 facebookOnClick end");
};
在按下 facebook 按钮后的两个活动中,我在 ShareDialog 的代码中看到日志,在 MainActivity Facebook 窗口弹出窗口中,但在 ReleaseActivity 中没有。
我没有看到 facebook 窗口,但在按下 facebook 按钮后,我按下 android Overview 按钮来查看已启动的应用程序并查看 facebook 应用程序(黑屏),当我按下这个 facebook 黑屏时,它会消失。 https://www.dropbox.com/s/sn0tlqhgce5za7o/fc.jpg?dl=0
回调仅在 MainActivity 中显示结果。 安卓 SDK 4.14.1
为什么它在一种情况下有效而在另一种情况下无效?怎么办?
【问题讨论】: