Я пишу приложение, состоящее из нескольких вкладок, созданных на вкладке с:
intent = new Intent().setClass(this, Home.class);
spec = tabHost.newTabSpec("Home").setIndicator("Home",
res.getDrawable(R.drawable.home))
.setContent(intent);
tabHost.addTab(spec);
В рассматриваемой вкладке я использую ActivityGroup для перехода к другим действиям на вкладке:
Intent intent = new Intent(Info1.this, Enroll2.class);
intent.putExtra("info", Info);
View newView = Group.group.getLocalActivityManager().startActivity("Info1", intent
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP))
.getDecorView();
Group.group.replaceView(newView);
Из одного из этих занятий мне нужно сделать снимок, и я пытаюсь использовать приложение камеры по умолчанию на устройстве, используя:
//define the file-name to save photo taken by Camera activity
String fileName = "picture" + Integer.toString(pictureCount);
//create parameters for Intent with filename
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
values.put(MediaStore.Images.Media.DESCRIPTION,"Image capture by camera");
//imageUri is the current activity attribute, define and save it for later usage (also in onSaveInstanceState)
imageUri = getContentResolver().insert(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
//create new Intent
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
Это правильно запускает приложение камеры, но после съемки оно не входит в метод onActivityResult. Я попытался поместить этот метод в каждый класс в цепочке для вкладки, и он не вводит код ни в один из них.
Я заметил, что этот вопрос был задан ранее на Как начать работу с результатом в дочернем элементе TabHost , но единственным потенциально полезным ответом было перенаправление на Как вернуть результат (startActivityForResult) из TabHost Упражнение? , которое представляет собой вопрос об использовании startActivityForResult из базового Activity для запуска tabActivity, а не при запуске Activity из tabActivity, так что оно бесполезно.
Я также продолжаю видеть, как люди говорят, что это не работает, когда вы используете ActivityGroup, но никто не предлагает, как еще это сделать.
Буду признателен за любую помощь.