重要的標誌:INTENT_FLAG_FORWORD_RESULT
這個標誌有一個特殊的作用,就是能夠跨activity傳遞result.。比如A1->A2,此時如果從A2中啓動A3,並且設置的啓動標誌爲FORWORD_RESULT,那麼A3運行時,可以在A3中調用setResult,然後在finish,其結果會從A3直接返回到A1,並且A1會得到A3中setResult中的result。滿足這種調用,啓動方式如下
A1(startActiviityForResult)-->A2(startActivity)->A3;A2不能使用forResult的方式啓動,否則會導致衝突Start_FORWORD_AND_REQUEST_CONFLICT
INTENT_FLAG_NEW_TASK 和啓動模式SINGLE_INSTANCE以及SINGLE_TASK都不能使用startForActivityResult;因爲啓動activity都會分配一個flags,而android認爲不同Task的Activity之間是不能傳遞數據的,所以不能使用NEW_TASK;而SINGLE_INSTANCE以及Single_Task啓動之前若目標Activity不存在則會分配NEW_TASK標誌,所以ForResult不生效