我已经用片段的上下文从片段初始化了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()));
答案 0 :(得分:0)
Facebook SDK调用onActivityResults,以便您可以将结果数据传递给SDK。这样Facebook SDK就可以了解她的活动是如何结束的(登录成功,用户行为等)。
从任何片段中,您都可以通过调用getActivity()来获取片段的Activity。
答案 1 :(得分:0)
基本上在Android => Activity中的所有事件处理程序,在此之后你将它绕过它片段。它不仅仅是关于FB SDK片段。它是关于所有碎片的。并且只有在片段中设置某种OnClickListner时 - >对于此活动列表,您将在片段中收到答案。
答案 2 :(得分:0)
如果您担心如何传递这些信息,可能不会像您想象的那么难。例如:
活动----> onActivityResult(){some logic} 片段---->你想做一些活动
的回应如果你正在使用MVP,你可以让你的演示者界面有一些方法doSomethingWithFBResponse(),它可以从你的活动中获得你需要的任何东西。此时,只需继续使用您打算在演示者中作为回调执行的逻辑。