当前位置: 首页 > 知识库问答 >
问题:

验证电子邮件活动不刷新

景国兴
2023-03-14

我有一个活动,我希望用户等待电子邮件帐户验证,但它不会将用户带到mainActivity。一旦帐户验证,我应该如何解决这个问题?

请参见下面的我的代码;

    user.sendEmailVerification();

    final Handler handler = new Handler();
    final int delay = 10000; //milliseconds

    handler.postDelayed(new Runnable() {
        public void run() {

            if (user.isEmailVerified()) {
                startActivity(new Intent(VerificationEmailActivity.this, MainActivity.class));
                Toast.makeText(VerificationEmailActivity.this, R.string.spend_wisely, Toast.LENGTH_SHORT).show();
            } else {
                Toast.makeText(VerificationEmailActivity.this, "Check your email!", Toast.LENGTH_SHORT).show();
            }
            handler.postDelayed(this, delay);
        }
    }, delay);

}

共有1个答案

糜运良
2023-03-14

由于用户的实际验证发生在您的Android应用程序之外(在您的浏览器中),应用程序并不知道它发生了。这意味着应用程序只会在自动刷新令牌后检测用户的更新状态,这可能需要长达一个小时的时间。

要更早地检测到它,您可以通过调用<code>reload()</code>来重新加载配置文件,或者通过调用<code>getIdToken(true)</code>来强制刷新ID令牌。

这已经被介绍过很多次了,所以也要看看:

  • Firebase电子邮件验证行为
  • 在isEmailVerated()的每次调用中返回错误条件,即使在电子邮件验证之后
  • Firebase:实时观察电子邮件验证状态
  • Flutter:如何收听Firebase用户是经过电子邮件验证的布尔值?
 类似资料:
  • 问题内容: 我检查了用户是否通过电子邮件验证。但是,无论我发送并确认了多少电子邮件,验证状态仍为。检查时我做错什么了吗? 问题答案: 我如何实现此功能的方法是添加一个 带有时间间隔的,它将检查用户是否已通过验证,然后在完成验证后终止计时器。 检查您当前用户状态的功能:

  • 我检查了用户是否通过电子邮件进行验证。但是,无论我发送并确认了多少封电子邮件,验证状态仍然是。我在检查时是否做错了什么?

  • 我正在提示我的应用程序用户提供电子邮件凭据。 在用户插入电子邮件并通过后,我想验证该帐户。 我正在使用javax。邮政有没有办法验证帐户?只确保凭据确实有效——否则我想显示一个无效用户并传递消息。 也许是某种表演方式: 并在不发送任何内容的情况下检查身份验证异常。

  • 每当我在Firebase中使用电子邮件/密码身份验证提供程序时,提供程序都会在成功注册时发送一个无记名令牌,即使是。是否有一种开箱即用的方法将电子邮件/密码身份验证提供程序配置为在用户验证其电子邮件地址之前不发送无记名令牌(并返回403错误)? 请注意,我知道如何创建用户、登录用户、发送验证电子邮件等。。。使用firebase v9。x通过firebase/auth中的方法创建用户(使用Email

  • 问题内容: 我有这个EditText定义: 注意,EditText具有使用电子邮件地址规范定义的inputType。Android是否内置任何可验证电子邮件地址输入类型的内容,还是都必须手动完成?它允许我输入无效数据,所以我对它的用途感到好奇。 谢谢。 问题答案: 在这里,通过输入电子邮件类型,您可以将电子邮件类型的键盘设置为“ @”和“。”。关键字将显示在键盘上。 更好的解决方案是通过以下功能比

  • 我是Firebase的菜鸟。我要求一种设置电子邮件验证的分步指南。 目前,我的应用程序使用基本电子邮件密码登录。我希望对用户进行验证,以便根据用户的电子邮件验证属性隐藏内容。我正在调用.sendEmailVerification(),它会发送到当前用户的电子邮件,但是,每当我单击电子邮件中的链接时,它都说该链接已过期或有人已使用它,这也不会更改属性。我怀疑这与api管理器有关。我目前已将我的网站托