按下后退按钮时如何不结束应用程序

时间:2015-12-28 15:50:02

标签: android

我正在构建一个有3个屏幕的应用程序;第一个是启动画面,第二个是我需要用户始终在哪里,第三个是设置一些东西。

当我在第二个屏幕上并按下android上的Back按钮时,应用程序结束。同样,当我通过点击其图标启动应用程序时,它从头开始。我不希望这样。

我想要的只是应用程序只有当用户通过访问android中的应用程序管理器自己结束时结束。即使应用程序正在运行且用户单击应用程序图标,它也应该转到当前运行的屏幕而不是全部启动它。

最好的问候

3 个答案:

答案 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();
}