当我在android中第二次启动应用程序时启用跳过登录时,我如何仍然获得电子邮件地址?



我启用了跳过登录,其中我无法获得我登录的帐户的电子邮件。

如果在第二次启动应用程序时启用跳过登录,我如何仍然收到电子邮件?

Firebase身份验证状态在应用程序重启期间持续存在。因此,不需要在本地保存电子邮件地址,以便在重新启动应用程序时再次使用它。只要创建了FirebaseAuth类的实例,就可以调用getCurrentUser(),它:

返回当前登录的FirebaseUser,如果没有则返回null。

可以看到,返回的类型对象是FirebaseUser。如果这个对象是空的,这意味着你的用户没有登录,否则,你可以调用firebaseuser# getEmail()。这样,您就可以始终从该对象获取电子邮件地址,而无需执行任何其他操作。

如果你想跟踪认证状态,那么我建议你检查我的答案从以下帖子:

  • 一次性登录应用程序- FirebaseAuth

如果您想看到一个真实的示例,请查看此资源,并提供相应的repo。

第一次启动应用程序时,登录后您可以将用户名和电子邮件保存在共享偏好中,第二次启动时您可以获取它。首先使用方法

初始化App Preference
AppPreferences.INSTANCE.initAppPreferences(ActivityName.this);

然后设置userName并使用。

代码在

下面共享
public enum AppPreferences {
INSTANCE;
private static final String SHARED_PREFERENCE_NAME = "AppName";
private SharedPreferences mPreferences;
private Editor mEditor;

public void initAppPreferences(Context context) {
mPreferences = context.getSharedPreferences(SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE);
mEditor = mPreferences.edit();
}
public String getUserName() {
return mPreferences.getString(SharedPreferencesKeys.user_name.toString(), "");
}
public void setUserName(String value) {
mEditor.putString(SharedPreferencesKeys.user_name.toString(), value);
mEditor.commit();
}
}

相关内容

  • 没有找到相关文章

最新更新