Я реализовал приложение камеры с помощью некоторых учебных пособий, доступных в Интернете.
И я умею делать снимки, сохраняя их в отдельный каталог и сохраняя информацию в своей собственной базе данных. В этом случае я не показываю пользователю предварительный просмотр изображения.
Теперь мое требование — показать предварительный просмотр изображения с кнопками «Сохранить» и «Отмена» после съемки. Для этого я создал еще одно действие с ImageView
и кнопками.
И в моей основной деятельности я делаю следующее.
cameraButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
camera.takePicture(shutterCallback, rawCallback, jpegCallback);
}
});
........
PictureCallback jpegCallback = new PictureCallback() {
@Override
public void onPictureTaken(byte[] imageData, Camera c) {
Intent intent = new Intent(MyCameraActivity.this, SaveOrDiscardActivity.class);
intent.putExtra("LOC_ATTRS", new double[]{dLatitude, dLongitude});
intent.putExtra("IMG_DATA", imageData);
startActivityForResult(intent, RESULT_OK);
camera.startPreview();
}
};
В моем классе SaveOrDiscardActivity
я получаю данные и помещаю их в класс ImageView
. Я могу правильно видеть предварительный просмотр.
Теперь у меня следующие вопросы.
1) Это хороший подход для вызова другого действия из метода onPictureTaken
?
2) После нажатия кнопки камеры требуется определенное время (от 2 до 5 секунд), чтобы перейти к другому действию. Как исправить эту проблему?
Заранее спасибо.