应用运行onActivityResult后进入后台

Posted

技术标签:

【中文标题】应用运行onActivityResult后进入后台【英文标题】:App goes to the background after running onActivityResult 【发布时间】:2021-01-06 07:51:16 【问题描述】:

我正在使用 FirebaseUI 登录我的应用。从登录活动返回时,以下onActivityResult-override 将打印Here1-1,这与预期一致。然而,紧接着,活动就结束了,这不是我想要的。我真的很迷茫,有人知道会发生什么吗?

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
    super.onActivityResult(requestCode,resultCode,data);
    switch (requestCode) 
        case RC_SIGN_IN:
            if (resultCode == RESULT_CANCELED) 
                finish();
             else 
                System.out.println("Here" + Integer.toString(requestCode) + Integer.toString(resultCode));
            
        case RC_START_APP:
            if (resultCode == RESULT_LOGOUT) 
                signout();
             else 
                finish();
            
    

【问题讨论】:

【参考方案1】:

您的案例需要break 来停止执行,以免它们落入下一个案例。由于在第二个 RC_START_APP 案例中执行了 finish(),您的活动实际上刚刚结束。

    switch (requestCode) 
        case RC_SIGN_IN:
            if (resultCode == RESULT_CANCELED) 
                finish();
             else 
                System.out.println("Here" + Integer.toString(requestCode) + Integer.toString(resultCode));
            
            break;  // add this break
        case RC_START_APP:
            if (resultCode == RESULT_LOGOUT) 
                signout();
             else 
                finish();
            
            break;  // add this break
    

【讨论】:

以上是关于应用运行onActivityResult后进入后台的主要内容,如果未能解决你的问题,请参考以下文章