我正在构建一个有3个屏幕的应用程序;第一个是启动画面,第二个是我需要用户始终在哪里,第三个是设置一些东西。
当我在第二个屏幕上并按下android上的Back按钮时,应用程序结束。同样,当我通过点击其图标启动应用程序时,它从头开始。我不希望这样。
我想要的只是应用程序只有当用户通过访问android中的应用程序管理器自己结束时结束。即使应用程序正在运行且用户单击应用程序图标,它也应该转到当前运行的屏幕而不是全部启动它。
最好的问候
答案 0 :(得分:2)
在第二个活动
上覆盖“onBackPressed”方法@Override
public void onBackPressed() {
//empty body
}
答案 1 :(得分:0)
例如,一种替代方法是在每个活动的SharedPreferences上存储状态。在开始活动的onCreate方法中,你可以在所有内容之前添加类似的东西:
onCreate() {
final String status = sharedPreferences.getStatus();
if("secondScreen".equals(status)) {
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
finish();
} else if("thirdScreen".equals(status)) {
Intent intent = new Intent(this, ThirdActivity.class);
startActivity(intent);
finish();
}
//at this point your status it should be the first screen; so go on normally
setContentView();
...
答案 2 :(得分:0)
每次用户启动应用程序时使用相同的应用程序实例,请修改AndroidManifest.xml中的活动声明:
<activity .... android:launchMode="singleInstance" ...>
如果没有退出后退按钮,请在您的活动中覆盖onBackPressed:
public void onBackPressed () {
// do not call super.onBackPressed();
}