什么可能导致Android应用程序被发送到后台?

时间:2017-09-23 15:59:57

标签: android unity3d start-activity

我正在开发一个Android应用程序,其中有两个活动使用带有FLAG_ACTIVITY_REORDER_TO_FRONT标志的startActivity来回切换。一项活动是使用片段的相当标准的Android活动。第二个活动是使用Unity创建的交互式动画屏幕的包装器。我偶尔看到的问题是,在一个活动启动另一个活动后,第二个活动将显示正常,但是,只要您点击第二个活动的任何位置,应用程序的屏幕就会关闭,就好像您已经点击了Android主页按钮。没有记录任何异常,应用程序仍然列为活动应用程序,您可以恢复应用程序并从中断的位置继续。有没有人见过这种行为?

1 个答案:

答案 0 :(得分:1)

我认为此问题是由Android中的错误引起的。见https://issuetracker.google.com/issues/37070093

我创建了一个显示问题的视频 - https://userbob.com/ReorderToFront.mp4

以下是演示此问题的代码 - https://userbob.com/ReorderToFrontTest.zip

对我来说,似乎问题只发生在我尝试重新排序到前面的活动当前是其任务堆栈的根活动。因此,我创建了一个新活动,以便在onCreate方法中为startActivity调用第二个活动的任务的根目录。

public class RootActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = new Intent( this, MainActivity.class );
        startActivity( intent );
    }
}