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

所以,这里有几个类似的问题,但它们都没有为我提供有效的解决方案.

我正在使用从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

解决方法

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]
}

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...