轉自http://blog.csdn.net/snakewarhead/article/details/7976831java
tab activity 中調用startActivityForResult 以獲取子activity的運行結果時,會有一個問題,那就是 onActivityResult 方法沒法被回調。ide
這一般發生在ActivityGroup中,(我估計的,未研究源碼)其緣由在於 從 tab activity 進入 子activity時,ActivityGroup進入了活動棧,而不是tab activity,再設計上應該是有道理的,而不是一個bug。spa
解決方法:.net
1. tab activity中使用設計
getParent().startActivityForResult(intent,REQUEST);
2. 當子activity.finish 返回時,在ActivityGroup實現onActivityResult,內容相似於:code
@Override blog
protected void onActivityResult(int requestCode, int resultCode, Intent data) { get
// 向下傳遞源碼
YourActivity currentActivity = (YourActivity) getLocalActivityManager() it
.getCurrentActivity();
currentActivity.onChildActivityResult(requestCode, resultCode, data);
}
onChildActivityResult是一個你本身實現的方法,用來處理返回結果的。
參考:
http://stackoverflow.com/questions/6677466/stuck-with-getting-camera-pic-when-using-the-tab-activity