gpt4 book ai didi

android - FirebaseUI 离线授权

转载 作者:行者123 更新时间:2023-11-29 17:01:10 26 4
gpt4 key购买 nike

我正在学习我在 Firebase (Udacity) 中的第一门类(class),并且有看起来像这样实现 Firebase Auth 的代码

private FirebaseAuth mFirebaseAuth;
private FirebaseAuth.AuthStateListener mAuthStateListener;
....
mAuthStateListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
// User is signed in
onSignedInInitialize(user.getDisplayName());
} else {
// User is signed out
onSignedOutCleanup();
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(false)
.setProviders(
AuthUI.EMAIL_PROVIDER,
AuthUI.GOOGLE_PROVIDER)
.build(),
RC_SIGN_IN);
}
}
};

@Override
protected void onResume() {
super.onResume();
mFirebaseAuth.addAuthStateListener(mAuthStateListener);
}

当应用程序离线启动时,此代码会进入无限循环。

onResume -> onAuthStateChanged-> startActivityForResult-> onActivityResult(因 ErrorCodes.NO_NETWORK 而失败)-> onResume

有没有办法离线访问 FirebaseUI-Auth 登录屏幕,以便我可以使用 Android Smart Lock 登录。或者至少,像上面那样防止无限循环?

如果您需要更多详细信息,请告诉我

最佳答案

验证用户需要 Activity 连接。 Firebase 无法在不连接到其服务器的情况下对您的用户进行身份验证。

因此,一种处理方法是仅在用户设备为 connected to the network 时显示登录对话框。和/或 connected to Firebase .

关于android - FirebaseUI 离线授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42926833/

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