为什么Facebook SDK会产生效果?

时间:2016-05-18 06:48:22

标签: android android-fragments facebook-android-sdk

我已经用片段的上下文从片段初始化了facebook sdk。当我要用facebook登录时,它会回调活动的“onActivityResult”方法,但基本上我想要它的片段方法是“onActivityResult”。这只是关于Facebook SDK的问题。我通过管理当前打开的片段解决了这个问题。我没有找到关于这件事的任何东西。请回答。 初始化facebook SDK ::

的过程
    FacebookSdk.sdkInitialize(getContext());
    loginButton = new LoginButton(getContext());
    callbackManager = CallbackManager.Factory.create();
    loginButton.setReadPermissions(Arrays.asList("public_profile", "email", "user_friends", "user_about_me"));
    loginButton.registerCallback(callbackManager, new RegisterFbLoginResCallBack(getActContext()));

3 个答案:

答案 0 :(得分:0)

Facebook SDK调用onActivityResults,以便您可以将结果数据传递给SDK。这样Facebook SDK就可以了解她的活动是如何结束的(登录成功,用户行为等)。

从任何片段中,您都可以通过调用getActivity()来获取片段的Activity。

答案 1 :(得分:0)

基本上在Android => Activity中的所有事件处理程序,在此之后你将它绕过它片段。它不仅仅是关于FB SDK片段。它是关于所有碎片的。并且只有在片段中设置某种OnClickListner时 - >对于此活动列表,您将在片段中收到答案。

答案 2 :(得分:0)

如果您担心如何传递这些信息,可能不会像您想象的那么难。例如:

活动----> onActivityResult(){some logic} 片段---->你想做一些活动

的回应

如果你正在使用MVP,你可以让你的演示者界面有一些方法doSomethingWithFBResponse(),它可以从你的活动中获得你需要的任何东西。此时,只需继续使用您打算在演示者中作为回调执行的逻辑。