Android App关闭并重新开始重新开始

时间:2012-03-14 23:23:40

标签: android eclipse android-activity

我为Android创建了一个简单的应用程序,它使用按钮来浏览应用程序从第1页开始的不同活动,单击第2页或第3页按钮等,这将启动所需的活动,简单。

当你点击HOME或从应用程序中退出时,我遇到了什么问题(比烦恼更多的问题),因为android不会立即杀死应用程序,它会保留你记住的页面并打开应用程序例如,在活动2或3。我希望应用程序在关闭时再次返回到应用程序的开头并在1处打开,我可以通过单击返回返回到1,但这实际上不是我想要的。

我希望有人能够阅读并理解,最简单的解决方案

1 个答案:

答案 0 :(得分:6)

您需要做的是使用Activity生命周期。当屏幕因任何原因被隐藏时,会调用其onPause方法。当它再次显示时,onResume被调用。但是,即使第一次显示新活动,也会调用onResume。另一个问题是在活动之间转换时会调用onPause

因此,当最后一个活动的onPauseonResume被连续调用时,您最终希望“重启”该应用。试试这个课程,让你的所有活动都扩展这个而不是活动。

public abstract class BaseActivity extends Activity {

    private static BaseActivity lastPausedActivity = null;

    @Override
    protected void onPause() {

        super.onPause();
        lastPausedActivity = this;
    }

    @Override
    protected void onResume() {

        super.onResume();
        if(this == lastPausedActivity) {
            lastPausedActivity = null;
            Intent intent = new Intent(this, FirstActivity.class);
            intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
            startActivity( intent );
        }
    }
}

我没有测试过这段代码,所以可能需要一些调整,但逻辑应该是合理的。