我想在第一次打开应用程序时显示一些图像。或者如果它重新开放。当用户按下后退按钮时,我不希望应用程序被杀死,以进入主屏幕。但是保持它仍然活着但仍然返回主屏幕。
答案 0 :(得分:3)
正如Andro_Selva所说,后退按钮完成了你的活动;它不会杀死应用程序。
如果您想要完成与按下主页按钮类似的操作(因此您的应用程序已隐藏,但活动仍处于活动状态),您可以执行以下操作:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return true;
}
return super.onKeyDown(keyCode, event);
}
与按主页键略有不同,因为它只会让您使用上次启动此应用时的应用。所以它不一定会让你回到发射器。但是这种行为将更接近用户在按下时所期望的行为。
您可能还想在根活动下将其放在Manifest中:
android:alwaysRetainTaskState="true"
如果Android闲置了大约半小时,这将阻止Android完成所有活动的默认行为。
答案 1 :(得分:2)
将此添加到您的活动中
public void onBackPressed() {
//finish(); this is what would normally happen
}
这样您就可以完全控制后退键。至于主页键,你最好不要做任何事情。否则,如果你的应用程序出现问题,这可能是一个大问题,用户将无法摆脱它。另外,如果你看一下android是如何工作的,当按下一个主页键时,应用程序不会被杀死,只是暂停,除非系统决定没有足够的内存来保存你的应用程序,在这种情况下它将关闭。
答案 2 :(得分:0)
how to override backpress to not kill activity?
我相信你在这里没有理解某些事情。当您按下后退按钮时,并不表示您正在查杀您的应用程序。这意味着您正在完成您的活动,这也意味着您的应用程序正在后台运行。如果你想杀死你的活动,你必须做其中一个,
System.exit(0);
或者
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
或者通过手动进入设置 - >管理应用程序 - >选择您的应用 - >点击强制停止
当您按主页时,表示您的活动已暂停或类似冻结,当您再次访问应用时,您可以看到您的应用从您离开应用的位置恢复。< / p>