我使用的是 Firebase AuthUI 在我的安卓应用中进行验证,并有一个 单一活动,多个片段 架构,目前,我正在检查用户是否已在 MainActivity
并根据它,启动认证流程或不启动认证流程,然后继续其余的导航过程,就像这样。
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val user = FirebaseAuth.getInstance().currentUser
if (user == null) {
val signInIntent =
AuthUI.getInstance().createSignInIntentBuilder().setAvailableProviders(
listOf(AuthUI.IdpConfig.EmailBuilder().build())
).build()
startActivityForResult(signInIntent, REQ_CODE)
}
}
}
我的问题是,考虑到如果用户之前跳过了认证流程,我将不得不要求用户进行认证,我是否应该有一个单独的片段来启动认证流程,还是应该坚持当前的方法?
谢谢大家的帮助!我使用的是Firebase AuthUI。
是的,一开始就把登录逻辑和一个活动分开,可能是一个比较好的主意。你可以很容易地在那里检查登录信息,并且可以传递到Main活动中,如果万一登录过程没有完成,你也可以进一步处理细节。