在activtiy中的ondestory方法中呼叫setresult
intent data = new intent();
setresult(result_ok, data)
但是在onactivityresult中resultcode是0(result_canceled)
onactivityresult(int requestcode, int resultcode, intent data)
說明setresult在ondestroy中不工作,放到onpause和onstop中也同樣不工作
按照官方文件的說法,不應該在ondestroy中處理任何資料,所以自然不應該在這裡setresult
但onpause中setresult是可以的,而且確實有效。
你遇到的情況可能是呼叫了finish(),然後由finish()觸發的onpause,這個時候setresult是沒用的。
因為finish()一被呼叫,就會確定回傳activityresult的值,所以之後的設定就不會被得到了。
android中setResult的呼叫時機
最近在做專案的過程中有需要用到返回值,但是由於需求比較複雜,感覺把setresult放到onstop中比較方便,但是發現在onstop中寫入setresult 和finish 之後,跟本就不會回傳值,後來又試了onpaulse和ondestroy均是不可以。後來發現是因為錯過了onactivityr...
前端雜燴 在工作,在思考,在沉澱
當我們沉浸在旺盛的需求之中時,整個人便會成為一台工作的機器,切著類似的頁面,寫著同樣的邏輯,重複著昨天或者上個月做的事情,時間久了,覺得膩味,沒有什麼創新,也沒有明顯的成長。用一句通俗的話來講 工作五年,後面四年重複著第一年的活兒。很多人嘗試跳出這個怪圈,不過基於環境壓力和思維受阻,最後又不得不選擇...
前端雜燴 在工作,在思考,在沉澱
當我們沉浸在旺盛的需求之中時,整個人便會成為一台工作的機器,切著類似的頁面,寫著同樣的邏輯,重複著昨天或者上個月做的事情,時間久了,覺得膩味,沒有什麼創新,也沒有明顯的成長。用一句通俗的話來講 工作五年,後面四年重複著第一年的活兒。很多人嘗試跳出這個怪圈,不過基於環境壓力和思維受阻,最後又不得不選擇...