即使卸载了该应用程序,我也希望保持用户登录状态。我将电话Auth用于Firebase。从堆栈溢出中,我发现并品尝了以下代码来检查用户是否存在:
FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
if (firebaseUser != null) {
Intent intent = new Intent(PhoneAuthActivity.this, MainActivityDriverLogin.class);
startActivity(intent);
finish();
}else {
Toast.makeText(PhoneAuthActivity.this, "Please Write Your Phone Number", Toast.LENGTH_SHORT).show();
}
}
};
然后我将onStart设置为
mAuth.addAuthStateListener(authStateListener);
但是,没有运气,当我再次安装应用程序时,必须再次使用电话号码。
我也在Manifests中尝试过:
android:allowBackup="true"
android:fullBackupContent="true"
但是,尽管登录丢失了。
有没有办法一次性登录应用程序,并且即使应用程序没有受到干扰,甚至清除系统中的缓存仍保持登录状态?
答案 0 :(得分:0)
我认为您正在寻找android中的智能锁定功能。Google smartlock。 您需要在认证中启用该功能。我假设您正在使用Firbase Authenitaction Ui使用此方法 .setIsSmartLockEnabled(true)
AuthUI.getInstance()
.createSignInIntentBuilder()
.setIsSmartLockEnabled(true)
.setProviders(Arrays.asList(
new AuthUI.IdpConfig.Builder(AuthUI.GOOGLE_PROVIDER).build()))
.build(), RC_SIGN_IN
);