我为Android创建了一个简单的应用程序,它使用按钮来浏览应用程序从第1页开始的不同活动,单击第2页或第3页按钮等,这将启动所需的活动,简单。
当你点击HOME或从应用程序中退出时,我遇到了什么问题(比烦恼更多的问题),因为android不会立即杀死应用程序,它会保留你记住的页面并打开应用程序例如,在活动2或3。我希望应用程序在关闭时再次返回到应用程序的开头并在1处打开,我可以通过单击返回返回到1,但这实际上不是我想要的。
我希望有人能够阅读并理解,最简单的解决方案
答案 0 :(得分:6)
您需要做的是使用Activity生命周期。当屏幕因任何原因被隐藏时,会调用其onPause
方法。当它再次显示时,onResume
被调用。但是,即使第一次显示新活动,也会调用onResume
。另一个问题是在活动之间转换时会调用onPause
。
因此,当最后一个活动的onPause
和onResume
被连续调用时,您最终希望“重启”该应用。试试这个课程,让你的所有活动都扩展这个而不是活动。
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 );
}
}
}
我没有测试过这段代码,所以可能需要一些调整,但逻辑应该是合理的。