我已经实现了Facebook集成,它在初始化过程中运行良好,甚至Facebook也适用于应用程序。
因此,让我更详细地解释:我在onCreate()中添加并初始化了Facebook。
// Facebook callback manager
callbackManager = CallbackManager.Factory.create();还覆盖片段中的方法以及片段的活动。
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}这种方法在Activity和Fragment类中都是相同的。
但问题是,当我请求facebook AppInviteContent显示一个AppInviteDialog时,它在活动中被完全称为onActivityResult方法,而不是在片段方法中被调用。
如果有人有洞察力,给我任何建议。欢迎任何意见或建议。
发布于 2020-05-21 22:56:19
根据facebook 文献资料,在一个片段中,您应该调用此方法
> Java
loginButton.setFragment(this);> Kotlin
loginButton.fragment = this发布于 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() {
#all that fb stuff}
->覆盖onactivity将导致父活动。
@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.发布于 2018-09-03 21:38:32
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
callbackManager.onActivityResult(requestCode, resultCode, data);
super.onActivityResult(requestCode, resultCode, data);
}https://stackoverflow.com/questions/37941467
复制相似问题