转自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