第一種情況就是在執行startActivityForResult的時候緊跟着onActivityResult()方法也被執行,我們打log就會發現在onActivityResult()方法中resultCode參數一直傳回0,出現這種情況就是跟我們的Activity加載模式有關的,即在AndroidManifest.xml中設定activity的時候添加了android:launchMode這個屬性,在android SDK中有說明Activity被設定為單例模式時onActivityResult()這個無效,也就是android:launchMode="singleTask"和android:launchMode="singleInstance"都會導緻無效
第二種情況是startActivityForResult(intent, 0);這個方法中第二個參數,當我們設定這個參數小于0時就會發現onActivityResult()方法就沒有響應的android SDK中有提到這個參數必須是大于或者等于0的
第三種情況在TabHost的子Activity中startActivityForResult調用其他Activity時候遭遇到onActivityResult方法不響應的問題解決辦法如下:
1.通過父Activity啟動其他Activity;
2.實作父Activity的onActivityResult方法,将該處接收到的請求轉發給目前活動的子Activity;
3.自定義一個轉發接口用來實作第2步中的轉發功能;
4.所有SubActivity中實作第3步接口中的onTabActivityResult方法用來接收傳回資訊;