onActivityResult方法中返回碼resultCode始終為RESULT_CANCEL(0)的問題排查


首先

1級頁面

startActivityForResult(intent,requestCode)

2級頁面

setResult(RESULT_OK,intent)

確保上述跳轉和返回的兩個事件沒有問題

其次

在app目錄下的AndroidManifest.xml中檢查調用startActivityForResult的Activity是不是定義了singleTask或singleInstance的啟動模式:

 <activity
       android:name=".FirstActivity"
       android:label="this is first activity"
       android:launchMode="singleInstance">
        ...
</activity>

這種情況將啟動模式改為standard或singleTop。

最后

如果上述情況都沒有問題,恰好你又是在監聽二級頁面的返回事件(onBackPressed())中添加的返回參數

把super.onBackPressed();方法放在代碼塊最后,所有監聽邏輯跑完了再執行super.onBackPressed(),或者直接把super.onBackPressed()替換為finish()放在最后,銷毀活動。

如果都不行的話,那我也不知道...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM