2013-11-05 18 views
0

我試圖在Android> = 4.0中實施onAppLeave/onAppReturn事件。當用戶離開應用程序(轉到另一個應用程序,按回家等)並返回到應用程序(即,應用程序被帶到前一個應用程序所在的位置)時,應該會觸發這些應用程序。目前,我正在跟蹤來自應用程序中所有活動的生命週期調用,並根據生命週期調用順序確定何時觸發事件。在多個設備上測試後,似乎在同一個應用程序的活動之間的生命週期事件發生的順序如下:Android onAppLeave/onAppReturn事件

Time Activity A Activity B 
---- ---------- ---------- 
|  onPause 
|     onStart 
|     onResume 
v  onStop 

假設這是正確的,

  • onAppLeave事件可以當onStop從一個被解僱應用中的其他活動不會在該應用的活動之前加入onResume
  • onAppReturn事件可以在應用程序中的一個活動中的onStart未被應用程序中的另一活動的開頭。

這個邏輯是否正確?有沒有這些假設無效的情況?

回答

0

根據the docs的邏輯是正確的。 當用戶點擊電子郵件,電話,地圖等鏈接並啓動電話撥號程序,gmail作曲者或地圖等其他活動時,可能會出現其他情況。用戶可能會認爲這些活動是應用程序的各個部分,但是這種針對AppLeave事件觸發的邏輯不會。