我有2个活动,4位针式登录活动(MainActivity)和内容活动。
此应用程序存储私人信息,以及在恢复活动时无法看到的信息,因此我希望应用程序在每次启动时完全重新启动登录活动,而不是从停止的地方开始。< / p>
我已尝试在内容活动的onStop()和onResume方法中乱搞,但这些似乎非常不可靠,因为有时当我有onRestart设置重新启动登录活动时,它根本不会启动它,并且要求在onStop()中激活登录屏幕将阻止我在后台完成任务,例如保存数据。
我可以添加到清单文件中,告诉应用程序从登录活动重新启动,无论如何?在这样的应用程序上工作时可能发生的最糟糕的事情之一是,除了没有被强制登录的所有者之外的其他人可以访问该信息。
答案 0 :(得分:1)
您需要关注内容活动中的两个调用:
onPause()
:这是您杀死内容活动并将其从堆栈中删除的位置。你可以很容易地做到这一点:
@Override
public void onPause() {
super.onPause();
//Save your data here
finish(); //Kill Contect Activity.
}
onRestart()
:这是您将用户重定向到主要活动的位置。
@Override
public void onRestart() {
super.onRestart();
Intent i = new Intent(this, MainActivity.class);
startActivity(i);
finish(); //Kill Contect Activity.
}
This graph可以帮助您理解活动生命周期:
答案 1 :(得分:0)
您需要为Manifest中的活动设置标记android:clearTaskOnLaunch
和android:excludeFromRecents
。