我正在使用FirebaseUI Auth来在我的应用程序中实现登录流程。为了真正开始登录流程,我首先创建一个[[AuthStateListener
authStateListener = FirebaseAuth.AuthStateListener { authObj ->
val currUser = authObj.currentUser
if (currUser == null)
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.build(),
SIGN_IN
)
}
然后,我将实例,像这样authStateListener
对象附加到onResume()
中的FirebaseAuth
override fun onResume() {
super.onResume()
FirebaseAuth.getInstance().addAuthStateListener(authStateListener)
}
即使在启动应用程序时,也会首先显示MainActivity,并且仅在几秒钟后才会显示FirebaseUI活动。活动成为用户在启动应用程序时看到的第一个活动,而不是MainActivity?感谢您考虑我的问题!总而言之,我的问题是如何使
FirebaseUI
intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
所以您的主要活动将变成>
<activity android:name=".MainActivity"/>
您的FirebaseUIActivity将成为
<activity android:name=".FirebaseUIActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
并且一旦完成,就需要调用startActivity而不是startActivityForResult()