2011-02-09 43 views
4

是否可以在android中以编程方式将活动发送到后台?以编程方式向后台发送正在运行的应用程序

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

+0

你能提供更多细节吗?为什么你想在后台发送? – 2011-02-09 12:05:16

+0

我正在创建一个恶作剧应用程序,在指定的时间之后播放有趣的声音(由用户输入)。我不希望播放该声音时应用程序可见,并且显示器应该很暗。 – Mithraa 2011-02-09 12:10:44

回答

2

也许是从服务中播放声音而不是?

1

为了扩大@ ns476的答案,您应该从服务中播放它的原因是,任何时候操作系统可能会随时终止不再处于前台的任何Activity。请查看activity lifecycle

18

是的。

您可以使用:

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框架工程师,“你不能模拟新闻在主页上“。所以要小心......

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

更新根据这样的回答:moveTaskToBack(true) returns false always

相关问题