我有两个活动 - 一个用于密码,另一个用于密码活动。流程通常在应用程序启动时首先显示密码屏幕/活动,然后显示主要活动。但是,当应用程序在主活动(而不是密码活动)上,并且应用程序被最小化时,主要活动将被放入堆栈中。此时,如果"最近列表"启动时,显示主要活动,而不是密码活动。有什么办法可以解决这个问题吗?或者,这是Android的行为方式吗?
有人可以帮帮我吗?
提前致谢。
答案 0 :(得分:1)
是的,这就是Android的行为方式,但可能有一个解决方案。
如果我理解正确,您希望用户在看到主屏幕之前始终必须输入密码,无论是在最初启动应用程序时,还是在他们离开应用程序并返回时。
为此,一种方法是使用一个Activity
和两个Fragments
。每当重新启动Activity
时,请加载密码Fragment
。输入正确的密码后,切换到主Fragment
。
答案 1 :(得分:0)
这对你有用。您可以在主要活动中使用以下代码
@Override
public void onPause(){
super.onPause();
// put your code here...
this.finish();
}
每次应用程序进入后台时,这将从堆栈中删除主要活动。 当您启动主要活动的活动时,请确保您没有完成()密码活动。
例如:(在您的密码活动中)
Intent i = new Intent(PasscodeActivity.this, MainActivity.class);
startActivity(i);