【问题标题】:How do I retrieve user email from Firebase Firestore and send it to an email intent when a button is clicked?单击按钮时,如何从 Firebase Firestore 检索用户电子邮件并将其发送到电子邮件意图?
【发布时间】:2019-08-22 00:46:53
【问题描述】:

我正在尝试使用 FirebaseAuth 获取用户电子邮件并打开电子邮件意图以在电子邮件中显示自动获取的电子邮件。

我已尝试执行此意图,但我需要帮助才能从 Firebase 获取电子邮件并将其链接到电子邮件意图:

        mFirebaseAuth = FirebaseAuth.getInstance();
        emailButton = findViewById(R.id.openEmailButton);

        emailButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                userInformation();

                Intent intent = new Intent(Intent.ACTION_SEND);
                intent.setType("text/plain");
                intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com");
                intent.putExtra(Intent.EXTRA_SUBJECT, "Subject");
                intent.putExtra(Intent.EXTRA_TEXT, "I'm email body.");

                startActivity(Intent.createChooser(intent, "Send Email"));
            }
        });


    public void userInformation(){
        FirebaseUser user = mFirebaseAuth.getCurrentUser();

        if (user != null) {
           email = user.getEmail();
        }
    }

我希望从Firebase 获取电子邮件地址,而不是emailaddress@emailaddress.com

【问题讨论】:

  • 那么首先您需要将用户电子邮件存储在 Firebase 中,然后获取它
  • Firebase 身份验证保存了我可以从那里检索的电子邮件吗?

标签: java android firebase firebase-authentication


【解决方案1】:

我需要帮助才能从 firebase 获取电子邮件

如果您需要将来自 Firebase 身份验证的电子邮件添加到 Intent 中,请注意您即将完成。只需将您从userInformation() 方法中的FirebaseUser 对象获得的email 添加到您的意图对象。所以请更改以下代码行:

intent.putExtra(Intent.EXTRA_EMAIL, "emailaddress@emailaddress.com");

intent.putExtra(Intent.EXTRA_EMAIL, email);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 2012-07-02
    • 2012-01-31
    • 1970-01-01
    相关资源
    最近更新 更多