我的整个项目都是以人像模式构建的,我的所有活动都在AndroidManifest.xml中设置为以下选项:android:screenOrientation =“ portrait”
但是,由于无法在FirebaseUI上进行设置方向(如here所述,因此用户有机会以横向模式登录)。发生这种情况时,永远不会调用onActivityResult:
public void createSignInIntent() {
// [START auth_fui_create_intent]
// Choose authentication providers
List<AuthUI.IdpConfig> providers = Arrays.asList(
new AuthUI.IdpConfig.EmailBuilder().build(),
new AuthUI.IdpConfig.GoogleBuilder().build()
,new AuthUI.IdpConfig.FacebookBuilder().build()
);
// Create and launch sign-in intent
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.setTheme(R.style.FirebaseTheme)
.setLogo(R.drawable.logofirebase_9)
.build(),
RC_SIGN_IN);
}
// [START auth_fui_result]
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// NEVER REACHING TO THIS POINT IN LANDSCAPE MODE.
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Successfully signed in
...
纵向模式下的行为:用户按下任何登录按钮,然后过程完成。
在横向模式下的行为:用户按下任何登录按钮(即,使用Facebook登录),该过程似乎正在尝试登录用户(显示了加载的带圆圈的动画),但是几秒钟后,相同的FirebaseUI再次显示。
为什么会这样,我该如何解决这个问题?