簡體   English   中英

活動B在調用finish()之后通知活動A

[英]Activity B notify a Activity A after calling finish()

我從活動A開始活動B。活動B對我的數據有作用,在某些時候我稱為finish(); ,但是活動B仍在后台對數據庫進行操作,完成后,我想在活動A中得到通知,該過程已完成。

因為我不知道如何從另一個活動中調用方法,所以我嘗試使用startActivityForResult解決此問題,但是因為我正在調用finish(); startActivityForResult 在實際設置結果之前,這似乎也不起作用。

關於如何解決這個問題有任何想法嗎?

不要在Activity中執行可能會超出Activity生命周期的任務。 在這種情況下,請在“ Service執行任務,並將結果通知給“ Activity 有一些方法可以使用BroadcastReceiverMessengerHandlerBound ServiceActivityService之間進行通信。 您也可以使用EventBus庫進行此通信。

檢查線程和線程以在“活動”和“服務”之間進行通信

嘗試關閉您的數據庫,並在成功關閉數據庫之后,“通知”您的活動A此結果並完成活動。 坦率地說,這是一個不精確的問題:如果您要從另一個類調用某個方法,請傳遞活動的Context。

暫無
暫無

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

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