我正在学习Firebase (Udacity)的第一个课程,并且有类似于实现Firebase的代码
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智能锁。或者至少,像上面那样阻止无限循环?
如果你需要额外的细节,请告诉我
https://stackoverflow.com/questions/42926833
复制相似问题