Facebook登录CallbackManager FacebookCallback不被调用吗? [英] Facebook Login CallbackManager FacebookCallback not called?
本文介绍了Facebook登录CallbackManager FacebookCallback不被调用吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
- 我尝试使用LoginButton登录,但未调用登录回调.(LoginButton在Fragment中). 在应用程序onCreate中调用
- FacebookSdk.sdkInitialize
- 登录完成后未调用任何回调. 这是代码:
- I trying to login with LoginButton but the login callbacks are not being called.(LoginButton is in a Fragment) .
- FacebookSdk.sdkInitialize is called in the Application onCreate
- No Callbacks are called after login is completed. Here is the Code:
活动:
public class FrameActivity extends BaseActivity {
public static CallbackManager callbackManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
// FacebookSdk.sdkInitialize is called in the Application onCreate
callbackManager = CallbackManager.Factory.create();
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
}
片段:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_login, container, false);
LoginButton loginButton = (LoginButton) view.findViewById(R.id.login_button);
loginButton.setReadPermissions("user_friends");
loginButton.setReadPermissions("public_profile");
loginButton.setReadPermissions("email");
loginButton.setReadPermissions("user_birthday");
// If using in a fragment
loginButton.setFragment(this);
// Other app specific specialization
// Callback registration
loginButton.registerCallback(FrameActivity.callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
}
@Override
public void onCancel() {
// App code
}
@Override
public void onError(FacebookException exception) {
// App code
}
});
return view;
}
推荐答案
尝试一下:
-
在片段的
onCreateView()
中初始化FacebookSdk.sdkInitialize()
.
下一行初始化callbackManager = CallbackManager.Factory.create()
;
在Fragment类中对onActivityResult()
的实现.
Implement on onActivityResult()
in Fragment class.
添加您的callbackManager.onActivityResult(requestCode, resultCode, data);
在片段onActivityResult()
中.
确保从活动中删除FacebookInit()
和callbackManager
.
这篇关于Facebook登录CallbackManager FacebookCallback不被调用吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文