在移动Android中的另一个活动时,我如何防止以前的屏幕飞溅



我有一个具有按钮的活动,单击该按钮后,屏幕更改为一个仅带有进度圆的空屏幕。然后在30秒后它应该显示下一个屏幕,但是在此屏幕之前,它首先显示了一秒钟,然后切换到该屏幕。

例如:

Screen1-> Screen2-> Screen3-> Screen4

screen3移动到screen4时,将显示screen2一秒钟。我如何防止?

也需要能够从背面的Screen4返回Screen2。

我在So上搜索了许多类似的问题,但是例如,没有任何问题对我有用。在Screen2中给finish()调用,该应用程序甚至不会启动Screen2留在屏幕1中。

还尝试了setVisible(false),如果我在屏幕中单击"返回"按钮4,它将显示空白屏幕而不是屏幕2。

如果我不清楚这个问题,我的歉意,screen2是一项活动,该活动在Screen3处于活动状态时启动服务,然后在应用程序移动到Screen4时停止服务。

我得到了这个解决方案:

registerReceiver(finishCallReceiver,new IntentFilter("Done"));
finishCallReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            finish();
        }
    };

然后在服务中,我刚刚致电

Intent intent = new Intent("Done");
sendBroadcast(intent);

还会在活动的划分中注册广播接收器。