![](/img/trans.png)
[英]Android: Calling finish() on activity after rotating restarts activity
[英]Activity B notify a Activity A after calling finish()
我從活動A開始活動B。活動B對我的數據有作用,在某些時候我稱為finish();
,但是活動B仍在后台對數據庫進行操作,完成后,我想在活動A中得到通知,該過程已完成。
因為我不知道如何從另一個活動中調用方法,所以我嘗試使用startActivityForResult
解決此問題,但是因為我正在調用finish();
startActivityForResult
在實際設置結果之前,這似乎也不起作用。
關於如何解決這個問題有任何想法嗎?
不要在Activity
中執行可能會超出Activity
生命周期的任務。 在這種情況下,請在“ Service
執行任務,並將結果通知給“ Activity
。 有一些方法可以使用BroadcastReceiver , Messenger , Handler , Bound Service在Activity
和Service
之間進行通信。 您也可以使用EventBus庫進行此通信。
嘗試關閉您的數據庫,並在成功關閉數據庫之后,“通知”您的活動A此結果並完成活動。 坦率地說,這是一個不精確的問題:如果您要從另一個類調用某個方法,請傳遞活動的Context。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.