Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何覆盖反压以不终止活动?_Android - Fatal编程技术网

Android 如何覆盖反压以不终止活动?

Android 如何覆盖反压以不终止活动?,android,Android,我想在应用程序第一次打开时显示一些图像。或者如果它被重新打开。我不希望当用户按下返回按钮进入主屏幕时,应用程序被终止。但是,让它保持活动状态,但仍然返回主屏幕 how to override backpress to not kill activity? 我相信你还没有理解这里的某些事情。当你按下后退按钮时,并不意味着你正在终止你的应用程序。这意味着你正在完成你的活动,也意味着你的应用程序正在后台运行。如果你想停止你的活动,你必须做一个 通过调用System.exit0; 或者 或者手动进入

我想在应用程序第一次打开时显示一些图像。或者如果它被重新打开。我不希望当用户按下返回按钮进入主屏幕时,应用程序被终止。但是,让它保持活动状态,但仍然返回主屏幕

how to override backpress to not kill activity? 
我相信你还没有理解这里的某些事情。当你按下后退按钮时,并不意味着你正在终止你的应用程序。这意味着你正在完成你的活动,也意味着你的应用程序正在后台运行。如果你想停止你的活动,你必须做一个

通过调用System.exit0; 或者

或者手动进入设置->管理应用程序->选择应用程序->单击强制停止


当你按home键时,意味着你的活动被暂停或冻结,当你再次进入应用程序时,你可以看到你的应用程序从离开应用程序的地方恢复。

正如Andro_Selva所说,后退按钮完成你的活动;它不会杀死应用程序

如果您想完成类似于按下home(主页)按钮以隐藏应用程序的操作,但活动仍处于活动状态,则可以执行以下操作:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        moveTaskToBack(true);
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
这和按home键有点不同,因为它只会带你进入你启动此应用时使用的最后一个应用。所以它不一定会把你带回发射器。但这种行为将更接近用户在按下后退时的预期

您可能还希望将其放在根活动下的清单中:

android:alwaysRetainTaskState="true"

这将防止Android默认的行为,即如果你的所有活动闲置了大约半小时,就完成它们。

将此添加到你的活动中

public void onBackPressed() {
    //finish(); this is what would normally happen
}

这样您就可以完全控制back键。至于家里的钥匙,你最好不要动它。否则,如果你的应用出了问题,用户将无法摆脱,这将是一个大问题。另外,如果你看看android的工作原理,当按下home键时,应用程序不会停止,只是暂停,除非系统确定没有足够的内存来保存你的应用程序,在这种情况下,它将关闭。

那么,在设备上单击back press(后退)按钮和home(主页)按钮有什么区别呢???编码器,这有助于阅读
public void onBackPressed() {
    //finish(); this is what would normally happen
}