1. 程式人生 > >Android:關於onActivityResult方法不執行的問題

Android:關於onActivityResult方法不執行的問題

onActivtyResult這個方法是一個回撥方法,是在我們通過startActivityForResult()啟動activity時,finish()後所執行的,經常能夠滿足我們回撥的需求,但是在使用過程中,由於一些非常細節的原因而導致了這個方法沒有執行。下面是我所遇到的兩種情況:

1、如果startActivityForResult此處寫的RESULT_OK是負數的話,則在finish到ActivityB之後,ActivityA中的onActivityResult方法不會執行。 2、奇怪問題 startActivityForResult() 後直接呼叫 onActivityResult()
開發人員都知道,可以通過使用 startActivityForResult() 和 onActivityResult() 方法來傳遞或接收引數。 然而在一次使用中,還沒等到被呼叫的 Activity 返回,onActivityResult() 就被執行了。 找了半於,才得知,這與 Activity 的載入模式(launchMode)有關,該屬性可以在 AndroidManifest.xml 中設定。 原先將其設為 launchmode="SingleTask",經測試,所有需要傳遞或接收的 Activity 不允許設定該屬性,或只能設為標準模式,否則系統將在 startActivityForResult() 後直接呼叫 onActivityResult()。