簡體   English   中英

恢復廣播接收機的先前活動

[英]Resume previous activity from broadcast receiver

這是我的問題:

  • 我正在參加活動A
  • 活動A啟動新的活動B來撥打電話(Intent.ACTION_CALL)
  • 如何恢復活動A-我不想結束活動B,我只想將活動A放在最前面

目前,我有一個broadcastReceiver,它能夠在呼叫發生時啟動活動A的新實例。 如果我從那里開始活動“ FLAG_ACTIVITY_SINGLE_TOP”,則會收到錯誤消息

Calling startActivity() from outside of an Activity
context requires the FLAG_ACTIVITY_NEW_TASK flag.
Is this really what you want?

但我不想執行新任務,我想恢復活動A

非常感謝!

編輯:也許我可以簡單地模擬一下“返回”按鈕上的點擊?

考慮到您的用例-沒有啟動活動的任務的BroadcastReceiver-清單中的singleTask應該執行您想要的操作。

“ singleTask”系統創建一個新任務,並在新任務的根目錄處實例化活動。 但是,如果活動的實例已經存在於單獨的任務中,則系統將通過對其onNewIntent()方法的調用將意圖路由到現有實例,而不是創建新實例。 一次只能存在一個活動實例。

注意:盡管活動在新任務中開始,但是“后退”按鈕仍使用戶返回上一個活動。

摘自: http : //developer.android.com/guide/components/tasks-and-back-stack.html

您是否嘗試過使用FLAG_ACTIVITY_REORDER_TO_FRONT

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_REORDER_TO_FRONT

它似乎完全可以滿足您的需求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM