因此,这里是我的程序如何获得的ActivityGroup摆脱子活动导致
活动A(TabHost)的基本结构 - >选项卡1(的ActivityGroup) - > MainTab1Activity1
一切都很好, hunky dory如果我使用Tab 1调用MediaStore.ACTION_IMAGE_CAPTURE,但是如果我想要一个结果,并尝试(Tab 1.startIntentForResult而不是startChildActivity),它会尝试返回到Activity A,然后崩溃,因为它试图重新分配资源目前正在使用。
我的问题是我如何得到选项卡1来获得结果(我已经有一个选项卡1到MainTabACtivity1的传递方法,所以如果我可以得到结果在那里,我是金的任何帮助将不胜感激: )
Activty守则:
intent = new Intent().setClass(this, Tab1Group.class);
intent.putExtra(main.USERNAME_RESULT, getIntent().getStringExtra(main.USERNAME_RESULT));
spec = tabHost.newTabSpec("tab1").setIndicator("Tab1Group",
res.getDrawable(R.drawable.ic_tab_animals)).setContent(intent);
tabHost.addTab(spec);`
Tab1Group *活动组”
Intent faIntent = new Intent(this,MainTab1Activity1.class);
startChildActivity("MainTab1Activity1",faIntent);
MainTab1Activity1
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("output", "EXTRA_OUTPUT");
Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("yyyyy_MMM_dd_hh_mm_ss_aaa");
intent.putExtra(MediaStore.EXTRA_OUTPUT,Uri.fromFile(
new File(FindAnimal.fileOutput+"/"+"Random"+sdf.format(c.getTime())+
"_"+currentImageValue+".jpg")));
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
Tab1GroupparentActivity = (Tab1Group)getParent();
parentActivity.startChildActivity("TakePic",intent);
//parentActivity.startIntentForResult(intent,CAMERA_PICTURE);
所以我们的目标是从相机获取图片结果,目前这种情况不会发生。如果我尝试最后注释掉的部分,它会尝试重新初始化活动A代码。
你打电话给finish()吗?我很确定你需要这样做来从onActivityResult获得结果。您也可以尝试声明清单中的活动为SINGLE_TOP – Codeman
是的确有问题存在,启动ChildActivity不会导致onActivityResult触发。 – Jon
为什么需要成为儿童活动?为什么不能使用Serializable传递数据?看来会更容易:) – Codeman