2012-10-19 62 views

回答

1

你所說的「操作欄中的後退按鈕」稱爲「上按鈕」。兩者之間的區別在文章中有詳細解釋:Navigation with Back and Up

簡而言之:

  • 向上按鈕用於基於屏幕之間的層次關係的應用程序內進行導航。
  • 系統後退按鈕用於按照反向時間順序瀏覽用戶最近使用的屏幕歷史記錄。它通常基於屏幕之間的時間關係,而不是應用程序的層次結構。

當您從另一個應用程序導航到應用程序時,區別是很好的市場。例如:您正在通過郵箱中的鏈接訪問應用程序的Google Play屏幕。一旦谷歌播放:

  • 最多將帶你到谷歌Play的家應用
  • 返回,將帶你回到Gmail應用程序
+0

我想知道Android如何處理系統後退按鈕。你如何真正到達後面堆棧的previos活動? – coredump

0

那麼,這將帶你回去,因爲像後退按鈕會:

super.onBackPressed(); 
0

onBackPressed()的文檔說Back按鈕只是簡單地結束當前活動。不需要回棧操作。

在更深層次上,Android確實在Task之內維護了一堆活動,並且它可以確定在頂部活動完成時要顯示的活動。但是這些機制存在於本機代碼中,可能超出了你想要做的事情的範圍。據我所知,從Java可以做到的最好的方法是使用RunningTaskInfo(源代碼here),這將暴露當前任務中的「基本」和「頂部」活動。

如果您嘗試實施複雜的應用導航,您可以使用a number of flags來控制將活動放置在堆棧上的方式。