我为我的应用程序实现了Facebook登录。我正在使用Facebook登录按钮初始化登录页面,但是从Facebook页面成功登录后,它(facebook登录页面)不会关闭,并且我的活动的onActivityResult永远不会被调用。
我的实现是,在Fragment上,我有facebook登录按钮,该按钮在具有回调实现的地方调用其他活动。 我正在使用Facebook SDK版本'com.facebook.android:facebook-android-sdk:4.41.0'
MyFragment:
fbLoginButton.setOnClickListener {
val intent = Intent(activity, FacebookLoginHandlerActivity::class.java)
startActivityForResult(intent, 10101)
}
FacebookLoginHandlerActivity:
@Override
protected final void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FacebookSdk.sdkInitialize(this);
CallbackManager callbackManager = CallbackManager.Factory.create();
LoginManager.getInstance().registerCallback(callbackManager,
new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(final LoginResult loginResult) {
Log.d(TAG, "onSuccess");
}
@Override
public void onCancel() {
Log.d(TAG, "onCancel");
}
@Override
public void onError(final FacebookException exception) {
Log.d(TAG, "onCancel");
}
});
LoginManager.getInstance().logInWithReadPermissions(
FacebookLoginHandlerActivity.this,
Arrays.asList("public_profile", "email", "user_birthday"));
}
@Override
protected final void onActivityResult(
final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
....
}
修改: 经过几个小时的搜索,我发现将XML中的Facebook LoginButton更改为ImageView一切正常。 但是,如果我有Facebook LoginButton,为什么我没有收到回调?