gpt4 book ai didi

Android 登录按钮不调用 onActivityResult 或回调方法

转载 作者:行者123 更新时间:2023-11-29 17:30:45 25 4
gpt4 key购买 nike

我正在尝试在我的 Android 应用程序中实现 Facebook 登录按钮,这是我目前所做的:

public class LoginFragment extends BaseFragment {
private View mView;
private CallbackManager mCallbackManager;
private LoginButton mFBLoginButton;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
FacebookSdk.sdkInitialize(getActivity());
mCallbackManager = CallbackManager.Factory.create();
mView = inflater.inflate(R.layout.login, container, false);
mFBLoginButton = (LoginButton) mView.findViewById(R.id.login_facebook_button);
mFBLoginButton.setReadPermissions("public_profile", "user_friends","user_birthday","user_about_me","email");
mFBLoginButton.setFragment(this);
mFBLoginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
Log.d("LoginFragment", "UserId: " + loginResult.getAccessToken().getUserId());
}

@Override
public void onCancel() {
Log.d("LoginFragment", "Operation Canceled");
}

@Override
public void onError(FacebookException e) {
e.printStackTrace();
}
});
return mView;
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
getBaseActivity().displayToastMessage("Hey");
mCallbackManager.onActivityResult(requestCode, resultCode, data);
}

我还在应用程序 list 中添加了 Facebook Activity 和 Id。该应用程序运行良好,当我单击“登录”按钮时,它会将我带到 Facebook 对话框。这里的问题是没有一个回调方法被执行,即 onSuccess()、onCancel() 和 onError()。 onActivityResult() 也不执行。如果我遗漏了什么请告诉我

最佳答案

经过长时间的检查,我发现我将保存该 fragment 的 Activity 的 noHistory 设置为 true。一旦身份验证成功导致 onActivityResult() 未被调用,这将阻止再次返回 Activity 。

关于Android 登录按钮不调用 onActivityResult 或回调方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33118296/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com