gpt4 book ai didi

android - 从登录 Activity 中忘记了 firebase 的密码

转载 作者:搜寻专家 更新时间:2023-11-01 08:24:12 25 4
gpt4 key购买 nike

查看文档,我刚刚发现:

FirebaseAuth auth = FirebaseAuth.getInstance();
String emailAddress = "user@example.com";

auth.sendPasswordResetEmail(emailAddress)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "Email sent.");
}
}
});

我有一个问题,因为我需要在登录 Activity 中实现忘记密码功能,其中 FirebaseAuth 为空,因为用户未登录,那么我该如何解决?

最佳答案

FirebaseAuth.getInstance() 方法永远不会返回 null,因此您的代码可以正常工作。

如果用户未登录,FirebaseAuth.getInstance().getCurrentUser() 方法将返回 null

来自Android Firebase Authentication getting started documentation :

Declare an instance of FirebaseAuth

private FirebaseAuth mAuth;

In the onCreate() method, initialize the FirebaseAuth instance.

mAuth = FirebaseAuth.getInstance();

When initializing your Activity, check to see if the user is currently signed in.

@Override
public void onStart() {
super.onStart();
// Check if user is signed in (non-null) and update UI accordingly.
FirebaseUser currentUser = mAuth.getCurrentUser();
updateUI(currentUser);
}

您问题中的代码来自 send a password reset section :

You can send a password reset email to a user with the sendPasswordResetEmail method. For example:

FirebaseAuth auth = FirebaseAuth.getInstance();
String emailAddress = "user@example.com";

auth.sendPasswordResetEmail(emailAddress)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Log.d(TAG, "Email sent.");
}
}
});

这里指定了emailAddress变量,因为用户没有登录。

关于android - 从登录 Activity 中忘记了 firebase 的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46943264/

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