android - 以编程方式将正在运行的应用程序发送到后台

标签 android

是否可以在 android 中以编程方式将 Activity 发送到后台?

我正在创建一个恶作剧应用程序,它会在指定时间(由用户输入)后播放有趣的声音。而且我不希望应用程序在播放该声音时可见,并且显示屏应该是暗的。

最佳答案

是的。

您可以使用:

boolean sentAppToBackground = moveTaskToBack(true);

if(!sentAppToBackground){
  Intent i = new Intent();
  i.setAction(Intent.ACTION_MAIN);
  i.addCategory(Intent.CATEGORY_HOME);
  this.startActivity(i);
}

更多信息在这里:http://developer.android.com/reference/android/app/Activity.html#moveTaskToBack(boolean)

或者简单地说:

Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_HOME);
this.startActivity(i);

根据 Android 框架工程师 Romain Guy 的说法,“您无法模拟按下 Home 键。”。所以要小心...

检查:http://osdir.com/ml/Android-Developers/2010-03/msg01887.html

根据以下内容更新了此答案:moveTaskToBack(true) returns false always

关于android - 以编程方式将正在运行的应用程序发送到后台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4944562/

相关文章:

java - Dagger2 错误 : Kotlin: Unresolved reference: DaggerSOMETHINGComponent

android - 如何在RecyclerView Adapter中增加TextView的数量

android - 如何使android操作栏标题居中对齐?

android - 错误:软件包org.xwalk.core不存在Android Studio和Gradle

java - 在测试项目中找不到从方法 y 引用的类 x

Android,如何获取/设置布局参数?

java - Android Studio 预览版未正确显示 RecyclerView 和工具栏

java - 在套接字上发送和接收文件

安卓工作室 3.1 : updating gradle file cause android studio to freeze

android - View.getWidth() 在 onCreate 方法中不起作用?