2016-04-11 36 views

回答

2

基本意圖是最初啓動您的應用程序的根本意圖。

最常見的可能是任何應用程序在響應應用程序圖標上的觸摸時出現的一種。 LAUNCHER意圖。

但它可以是一個自定義的,例如,當您響應自定義計劃/網址。但這裏有一個訣竅,relinquishTaskIdentity可以用於:

假設你用啓動器圖標啓動你的應用程序。您的基本意圖現在是默認意圖。

現在,假設你的應用程序完全死亡(或者你已經用硬件圖標支持,直到你的應用程序關閉),然後使用自定義方案/ URL打開你的應用程序,此時基本意圖不是默認一。它是從您點擊的方案/網址生成的,也可能包含自定義數據。現在,如果您只是通過主頁按鈕關閉您的應用程序並重新打開它,您將恢復到原來的位置。但是,如果您退回,回退...用硬件按鈕,直到您的應用程序關閉有一個訣竅:從最近的應用程序/多任務處理視圖重新打開它將重用基本意圖打開它,在這種情況下,它仍然是您的自定義計劃/網址意圖,這可能是非常煩人的。

爲什麼討厭?假設用戶點擊的計劃/網址用於自動登錄,並且他成功了:您不想再次處理此網址/意圖,只是因爲您的用戶已備份,直到其應用程序關閉並通過最近的應用程序/多任務處理視圖重新打開, 對?

使用relinquishTaskIdentity!這是非常依賴於您的設置,以及如何配置您的應用程序的活動與碎片,但這裏是一個例子:

在特定情況下,我提到的自動登錄通過鏈接,你可以有一個Activity專用,只響應計劃/網址。此相同的活動應與標記爲LAUNCHER的活動不同。並使用其上的屬性relinquishTaskIdentity="true"將使基本意圖成爲任何隨後顯示的活動通過那一個。

那麼我們的情況有什麼好處?除非他/她真的點擊了您的應用程序支持的用戶,否則用戶無法使用生成的自定義方案/網址進入該應用程序。

相關問題