可以通过引入Firebase的UI库来解决这个问题。具体步骤如下:
1.在项目的build.gradle文件中添加以下依赖:
dependencies {
// ...
implementation 'com.firebaseui:firebase-ui-auth:4.3.2'
}
2.在需要使用Email和Password Authentication的活动中,在onCreate方法中添加以下代码:
//登录操作
FirebaseAuth auth = FirebaseAuth.getInstance();
if (auth.getCurrentUser() != null) {
//用户已经登录
} else {
//打开登录Activity
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build()
//在此添加需要的身份验证提供程序
))
.build(),
RC_SIGN_IN);
}
//处理登录操作结果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
//登录成功,处理逻辑
} else {
//登录失败,处理逻辑
}
}
}
注意:在AndroidManifest.xml中添加以下权限: