您好,登錄后才能下訂單哦!
Android中 Activity有什么用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
Android Activity集成開發環境包括許多新的和改進的用于提高工作效率的功能。IDE 還進行了重新設計,從而向開發人員提供對.NET Framework 組件的直接訪問,大大減輕了開發人員的工作壓力。
只有最開始的activity顯示出來。這樣做的原因是:當用戶很長時間以后回來的時候,它傾向于重新開始工作,而不是接著上次的工作做。當然,這是默認的模式。activity有一些屬性可以控制請空的動作。當任務的根acitvity的此屬性設置為 "true" 的時候。
無論用戶何時返回應用程序,程序都會請空隊列。從另一個角度說,這個屬性和alwaysRetainTaskState屬性完全相反。即使離開一會,用戶也會被導航到初始狀態。這個屬性有些像clearTaskOnLaunch, 但是它是針對某個activity而非整個任務的。它可以清除任何Android Activity,當然包括任務堆棧的根activity。
當此屬性設置為"true" 的時候,此activity只在用戶當前會話中顯示,當用戶離開再回來的時候,此activity已經被清除。有另外一種方式來請空任務。如果intent含有 FLAG_ACTIVITY_CLEAR_TOP 節點,并且目標任務已經有一個指定activity的實例來處理這個intent了。
那么這個activity頂上的節點將被全部清除,這個activity的實例就位于任務堆棧的頂部了。如果指定的activity設置為"standard",。它將從任務中移除,建立一個新的實例來響應此intent。因為啟動模式設置為 "standard"的時候,會建立一個新的實例來響應intent。
FLAG_ACTIVITY_CLEAR_TOP 經常和FLAG_ACTIVITY_NEW_TASK.一起使用。當他們一起使用的時候,可以定位到另外一個任務中已經存在的activity上,使得這個acitivity響應intent。
怎樣把一個activity設置為整個任務的入口呢?可以設置一個intent filter: "android.intent.action.MAIN" 作為默認動作;"android.intent.category.LAUNCHER" 作為類別。(是 Intent Filters 章節的例子)。這種類型的的filter對應的Android Activity的icon和label顯示在任務中,這樣用戶可以方便的回到任務
第二個能力尤其重要,用戶必須可以離開任務,并且重返任務。因此, "singleTask" 和 "singleInstance"這2個啟動模式必須用在含有 MAIN 和 LAUNCHER filter的activity中。想象一下,如果不加這2個filter會怎樣?一個intent請求"singleTask" 的activity,初始化了一個新的任務,用戶操作了一會這個任務。
然后用戶點擊“HOME”鍵。現在這個任務就被HOME窗體覆蓋了。但是因為這個任務不能在application launcher(注:類似于進程管理器)里面看到,因此用戶沒有辦法打開它
CTIVITY_NEW_TASK 標志也有同樣的問題。這個標志將使得activity在一個新的任務執行,當用戶點擊HOME 鍵離開任務的時候,必須能讓用戶回到這個任務。其他的一些機制(如通知管理器)經常在外部的任務開啟某個activity,而不是activity所在的任務本身,因此必須在intent觸發 startActivity()方法時使用FLAG_ACTIVITY_NEW_TASK 標記。
如果你有一個可以使用這個標記并且可以被外部調用的activity,要注意使得用戶可以重新回到這個任務。當你不想用戶重新回到任務的時候,將 <activity> 節點的finishOnTaskLaunch 設置為"true".
看完上述內容,你們掌握Android中 Activity有什么用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。