2011-02-09 68 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

相關問題