2017-02-06 189 views
0

我有一個純粹透明的活動(用戶無法看到它何時打開)。我每次打開它時都會從後臺服務中打開此活動。完成一些工作後,我需要關閉該活動(不是finish())。我想要hideminimize應用程序。其實,我的應用程序打開了一秒鐘,然後做someWorksomeWork,它繼續做後臺工作(一些上傳過程),即在。我不想讓用戶知道某事打開&立即關閉。如何以編程方式最小化/隱藏應用程序?

目前,我用下面代碼 -

public void minimizeApp() { 
Intent startMain = new Intent(Intent.ACTION_MAIN); 
startMain.addCategory(Intent.CATEGORY_HOME); 
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(startMain); 
} 

現在,問題是,如果用戶使用的一些其他應用程序如扮演遊戲或使用WhatsApp的,當我的應用程序獲取打開比以前的應用程序(遊戲或Whatsapp)和minimizeApp()被調用,那麼它會最小化我的應用程序以及在後臺打開的其他應用程序。 我想最小化只有我的應用程序。

+0

只是好奇,爲什麼你需要一個活動做一些工作? 「服務」不夠好嗎? – Sangharsh

+0

@Sangharsh,服務有時不能完成我們需要的所有工作。有些任務只能從'activity'類中完成。而就我而言,我以透明的方式默默地完成了每一項任務,因此用戶無法看到發生了什麼。這是一種間諜應用程序。 –

+0

你可以試試這個鏈接提供的解決方案嗎? http://stackoverflow.com/questions/10461095/moving-application-in-background-on-back-button-event –

回答

5

你可以嘗試從活動/語境下從那裏你希望儘量減少應用程序:

YourActivity.this.moveTaskToBack(true); 
相關問題