所以这是我程序的基本结构
Activity A (TabHost) --> Tab 1 (ActivityGroup) --> MainTab1Activity1
如果我使用 Tab 1 调用 MediaStore.ACTION_IMAGE_CAPTURE,一切都很好,但如果我想要一个结果,并且我尝试(Tab 1 . startIntentForResult 而不是 startChildActivity),它会尝试返回到 Activity A,然后崩溃,因为它尝试重新分配当前正在使用的资源。
我的问题是如何让 Tab 1 获得结果(我已经有一个将 Tab 1 传递到 MainTabACtivity1 的方法,所以如果我能在那里得到结果,我很高兴。任何帮助将不胜感激:)
活动 A 代码:
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);
所以目标是从相机中获取图片结果,目前这不会发生。如果我尝试最后一个注释掉的部分,它会尝试重新初始化 Activity A 代码。