首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Facebook callbackManager方法onActivityResult不调用片段onActivityResult方法

Facebook callbackManager方法onActivityResult不调用片段onActivityResult方法
EN

Stack Overflow用户
提问于 2016-06-21 10:07:10
回答 5查看 2.3K关注 0票数 3

我已经实现了Facebook集成,它在初始化过程中运行良好,甚至Facebook也适用于应用程序。

因此,让我更详细地解释:我在onCreate()中添加并初始化了Facebook。

代码语言:javascript
复制
// Facebook callback manager
callbackManager = CallbackManager.Factory.create();

还覆盖片段中的方法以及片段的活动。

代码语言:javascript
复制
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
}

这种方法在ActivityFragment类中都是相同的。

但问题是,当我请求facebook AppInviteContent显示一个AppInviteDialog时,它在活动中被完全称为onActivityResult方法,而不是在片段方法中被调用。

如果有人有洞察力,给我任何建议。欢迎任何意见或建议。

EN

回答 5

Stack Overflow用户

发布于 2020-05-21 22:56:19

根据facebook 文献资料,在一个片段中,您应该调用此方法

代码语言:javascript
复制
> Java 

loginButton.setFragment(this);
代码语言:javascript
复制
> Kotlin

loginButton.fragment = this
票数 4
EN

Stack Overflow用户

发布于 2016-07-02 09:15:47

无法在堆栈溢出中找到解决方案,所以,我自己做了这件事

->在java类globalvaluesclass类中添加回调管理器,可由活动和片段访问。

父活动的->in onCreate添加此Globalvalues.callbackManager = CallbackManager.Factory.create();

->in您的片段使用Globalvalues.callbackManager启动facebook登录类

LoginManager.getInstance().registerCallback(Globalvalues.callbackManager,新FacebookCallback() {

代码语言:javascript
复制
#all that fb stuff

}

->覆盖onactivity将导致父活动。

代码语言:javascript
复制
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

       fragment.customOnActivityResult(requestCode, resultCode, data);

}

and in your fragment add a function for example as shown below

      public static void customOnActivityResult(){
          super.onActivityResult(requestCode, resultCode, data);
    Globalvalues.callbackManager.onActivityResult(requestCode, resultCode,
      data);

  }

                                                       and you're Welcome.
票数 0
EN

Stack Overflow用户

发布于 2018-09-03 21:38:32

代码语言:javascript
复制
  @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    callbackManager.onActivityResult(requestCode, resultCode, data);
    super.onActivityResult(requestCode, resultCode, data);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37941467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档