2011-12-14 33 views
2

在我的應用程序中,我注意到使用Home按鈕時的差異。Android,LongPress Home和Home的區別

Ex。 我按下應用程序圖標,應用程序就像使用Activity(A)一樣開始操作。當我按下主頁按鈕時,應用程序會盡可能最小化。當我再次按下應用程序圖標時,應用程序將以活動(A)繼續執行onResume()

現在是棘手的部分。 從應用程序中,當我按下「開始按鈕」時,啓動另一個活動(B),並將焦點更改爲新的活動(B)。當我按Home時,該應用會最小化(就像它應該的那樣)。

而現在的問題: 如果我按下應用程序圖標,我的應用程序從一開始就從我的開始按鈕所在的Activity(A)開始運行。 (而不是與我剛剛最小化的ActivityB) 如果我再次完成這個場景(開始應用程序 - >焦點到活動(B) - >按回家),這次長按主頁按鈕,「最近啓動」操作,我選擇我的應用程序。現在焦點恢復到活動(B)

活動(A)和活動(B)都設置爲SingleTop。

我的問題是,爲什麼會出現使用長按家庭+圖標,一鍵式首頁+圖標的不同組合時的差異

回答

4
First think about this... when you are opening your application ... 
    your first Screen will be shown may be it is SplashScreen. 

    and if..you are in Activity A and goes to B and then Press BACK obviously 
    you will see Activity A. 

所以,現在當你長按Home鍵 ..That 節目你最近的應用與保存上次顯示的活動狀態..這就是爲什麼當你從那裏打開..你沒有SplashScreen直接看到活動B.

而且簡單按HOME鍵一次,你去到主屏幕從正在打開應用程序屏幕,這是啓動屏幕 ..from那裏,如果你按特定的應用程序將被啓動任何圖標(手段從其Intent過濾器設置爲啓動器)中定義的主活動打開應用程序...這就是爲什麼從那裏打開一個應用程序將永遠顯示你,你的SplashScreen。

This is not a Bug,not an Issue..This is how the Android is designed to work. 

相同的按鈕用於執行兩個不同的事件,因爲它們是相關的..但它不是像這兩個事件執行相同的操作。

+0

非常好!謝謝你清理它 – 2011-12-14 11:58:32

1

繼續上面的場景,我有一個帶有登錄屏幕的應用程序,該應用程序帶我進入活動A - >某個按鈕的OnClick將我帶到活動B中。當Homebutton出現LongPress時,我啓動另一個應用程序並在5-10分鐘內呆上相當長的時間。然後再次當我長按主頁按鈕,並返回到我的活動 - 它開始於活動B ..這是正確的。 從活動B,如果我按下返回鍵,它確實帶我到活動A,但有一個黑色的屏幕顯示。在正常情況下,它向我顯示了動態XML數據的列表視圖。