You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码实现点击按钮触发App退至后台(模拟home键功能)

模拟Home键将App退至后台实现方案

错误原因

你使用的finish(); System.exit(0);会直接销毁当前Activity并终止应用进程,属于完全退出应用的操作,无法实现仅退至后台保留运行状态的需求。

正确实现方式

两种常用实现方案,效果均和按下系统Home键一致:

方案1:调用系统桌面启动Intent

适配所有Android版本,点击后直接跳转至系统桌面,App转入后台运行:

Java 代码

// 在按钮点击回调中执行以下代码
Intent homeIntent = new Intent(Intent.ACTION_MAIN);
homeIntent.addCategory(Intent.CATEGORY_HOME);
homeIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(homeIntent);

Kotlin 代码

// 在按钮点击回调中执行以下代码
val homeIntent = Intent(Intent.ACTION_MAIN)
homeIntent.addCategory(Intent.CATEGORY_HOME)
homeIntent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
startActivity(homeIntent)

方案2:直接将应用任务栈移至后台

无需跳转系统桌面,仅将当前应用的任务栈切到后台,下次点击应用图标可直接回到切后台前的页面:

Java 代码

// 参数传true表示无论当前栈顶是哪个Activity,都将整个任务栈移至后台
moveTaskToBack(true);

Kotlin 代码

moveTaskToBack(true)

注意事项

  • 以上两种方案均不需要申请额外权限,属于系统开放的标准API
  • 两种方案都不会销毁应用进程,应用的后台服务、缓存状态都会保留

内容的提问来源于stack exchange,提问作者andtompoi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:45:06