【问题标题】:Facebook ShareDialog is shown from one activity but not from anotherFacebook ShareDialog 从一个活动显示,但不是从另一个活动显示
【发布时间】: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

为什么它在一种情况下有效而在另一种情况下无效?怎么办?

【问题讨论】:

    标签: android facebook


    【解决方案1】:

    我不知道为什么,但是当我写的时候它开始起作用了 class ReleaseActivity extends BaseActivity 就像 MainActivity 一样,而不是 class ReleaseActivity extends Activity 基本活动:class BaseActivity extends AppCompatActivity.

    因此,扩展 AppCompatActivity 的类与 Facebook SDK 一起使用,而不这样做的类 - 不起作用。

    【讨论】:

      猜你喜欢
      • 2017-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-31
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多