Android - Firebase快速入门电子邮件/密码验证演示不起作用

时间:2016-09-10 03:52:06

标签: android firebase firebase-authentication

所以,这里有几个类似的问题,但是没有一个问题适合我。

我正在使用从Github下载的Quickstart演示。今天下载了。我在演示代码中没有改变任何内容。

我所解决的一些常见错误(来自我所读过的内容):

  • 我在Firebase控制台中创建了项目 可下载的json文件(使用包名创建)。我提供了 我的SHA1指纹。

  • 检查电子邮件/密码登录方法。

  • 我已经更新并安装了Google Play服务和Google Repository(来自Android Studio SDK管理员)

  • 在我的设备上,Google Play服务版本为9.4.52

如果我在Firebase控制台中启用匿名登录选项,我就可以成功匿名登录演示应用。但电子邮件/密码不起作用。

编辑:不确定我是否正确行事,但我在Logcat中得到了这些

D/EmailPassword: createAccount:chris884@gmail.com
 W/DynamiteModule: Local module descriptor class for com.google.firebase.auth not found.
 W/ResourcesManager: Asset path '/system/framework/com.android.media.remotedisplay.jar' does not exist or contains no resources.
 W/ResourcesManager: Asset path '/system/framework/com.android.location.provider.jar' does not exist or contains no resources.
 D/EmailPassword: createUserWithEmail:onComplete:false

1 个答案:

答案 0 :(得分:5)

logcat输出显示用户帐户的创建失败。 documentation表示可能由于以下原因而发生:

  • 密码不够强大(少于6个字符)
  • 电子邮件地址格式错误
  • 已存在具有给定电子邮件地址的帐户

Log的完成侦听器添加createUserWithEmailAndPassword()语句,以查看失败原因:

@Override
public void onComplete(@NonNull Task<AuthResult> task) {
    Log.d(TAG, "createUserWithEmail:onComplete:" + task.isSuccessful());

    // If sign in fails, display a message to the user. If sign in succeeds
    // the auth state listener will be notified and logic to handle the
    // signed in user can be handled in the listener.
    if (!task.isSuccessful()) {
        Log.d(TAG, "onComplete: Failed=" + task.getException().getMessage()); //ADD THIS

        Toast.makeText(EmailPasswordActivity.this, R.string.auth_failed,
                Toast.LENGTH_SHORT).show();
    }

    // [START_EXCLUDE]
    hideProgressDialog();
    // [END_EXCLUDE]
}