Android Studio中Firebase创建用户失败:task.isSuccessful()始终返回false
解决Firebase创建账号时
task.isSuccessful()始终返回false的问题 首先你得先拿到具体的错误原因,这是排查问题的关键。修改onComplete方法里的else分支,把错误信息打印出来:
else { String errorMsg = task.getException() != null ? task.getException().getMessage() : "未知错误"; Toast.makeText(Inscription.this, "创建失败:" + errorMsg, Toast.LENGTH_LONG).show(); Log.e("InscriptionError", "账号创建错误:" + errorMsg); }
根据错误信息,对应以下常见原因逐一排查:
FirebaseAuth未初始化
你代码里只声明了FirebaseAuth mAuth;,但没在onCreate里初始化。必须添加这行:@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_inscription); // 别忘了绑定布局 // 先初始化控件 editTextEmail = findViewById(R.id.editTextEmail); editTextMdp = findViewById(R.id.editTextMdp); btnInscription = findViewById(R.id.btnInscription); clickConnexion = findViewById(R.id.clickConnexion); // 初始化FirebaseAuth mAuth = FirebaseAuth.getInstance(); // 你的点击事件代码... }Firebase控制台未开启邮箱/密码登录
登录Firebase控制台进入你的项目:- 打开「Authentication」→「登录方法」
- 找到「邮箱/密码」,确保开关是启用状态
密码不符合Firebase要求
Firebase默认要求密码至少6个字符,提前在代码里做校验:if (mdp.length() < 6) { Toast.makeText(Inscription.this, "密码至少需要6个字符", Toast.LENGTH_SHORT).show(); return; }邮箱已被注册
如果该邮箱已经在Firebase中创建过账号,会返回类似"email already in use"的错误,提示用户更换邮箱或直接登录已有账号即可。缺少网络权限
在AndroidManifest.xml里添加网络权限:<uses-permission android:name="android.permission.INTERNET" />google-services.json配置错误
确认从Firebase控制台下载的google-services.json文件,已正确放在app模块根目录,且文件里的包名和你项目的包名完全一致。
内容的提问来源于stack exchange,提问作者SkyBlob
相关产品推荐
相关产品推荐

