[英]Launch activity from service and stop previous activities after pressing Home Button
我的其中一項活動是通過Intent從服務啟動的。FLAG_ACTIVITY_NEW_TASK。 當我按下“后退”按鈕並啟動此Activity
它將打開,當我按下“后退”按鈕時,我會看到常規的Android主頁。 但是,如果我按“主頁”按鈕,然后從“ Service
啟動我的“ Activity
,然后按“返回”,則可以從我的應用程序中看到上一個活動。 但我想看看普通的Android主頁。
有人可以幫我嗎?
如果我對您的理解正確,則需要該Activity
的一個實例。 我的看法有兩種選擇:
launchMode
設置為singleInstance
。 singleInstance
(我為您提供的鏈接並沒有詳細說明原因,但這是另一回事)。 或者,如果您有多個活動,那么使用此啟動模式進行活動可能不合適。 當您在堆棧上有活動或沒有活動時,您需要處理這種情況。 從服務中,您可以發送有序廣播 ,如果活動處於堆棧中,則該活動可以處理並中止(在您的活動#onCreate()和#onDestroy()中,您將要注冊,或者分別取消注冊該接收器。請記住要按序排列) )。 更多有關訂購廣播接收機的信息 。 因此,如果活動在堆棧中,您將收到該意圖並放棄廣播。 如果活動不在堆棧中,則另一個優先級較低的廣播接收器將收到該意圖-在這種情況下,就是您的服務。 因此,再次:onCreate和onDestroy-注冊resp。 注銷廣播接收器。 在其onReceive()
方法中,您將處理現在正在執行的操作-使用FLAG_ACTIVITY_NEW_TASK
打開“活動”。 希望有道理。 在以下幫助下成功做到了:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.