Я создаю приложение, часть которого имеет предварительный просмотр камеры.
Моя проблема в том, что если я попаду домой на устройстве и снова открою приложение, камера будет пиксельной с фиолетовыми линиями, проходящими через нее. Я предполагал, что это как-то связано с методами onResume()/onPause(), но в этом я останавливаю предварительный просмотр и устанавливаю камеру на ноль (ниже)
В РЕЗЮМЕ
@Override
public void onResume() {
//Registering the Listener
super.onResume();
manager.registerListener(this,
manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
manager.SENSOR_DELAY_NORMAL);
//Opening the Camera and Starting the Preview
camera = Camera.open();
startPreview();
}
НА ПАУЗЕ
@Override
public void onPause() {
super.onPause();
if(camera!=null)
{
camera.stopPreview();
camera.release();
camera = null;
inPreview = false;
}
}
У меня есть возможность для пользователя переснять свою фотографию, если пользователь попытается переснять изображение в третий раз, я столкнусь с той же проблемой. Я не знаю, в чем проблема, я получил код камеры от
С небольшой доработкой под мои нужды.
Из чтения и исследований кажется, что мои onPause и onResume верны, поэтому проблема может быть не в этом...
Любая помощь приветствуется
Camera/Picture/
в том же репозитории) были моими первыми попытками поддержатьCamera
. - person CommonsWare   schedule 24.07.2013CameraFragment
для предварительного просмотра и вызовеtakePicture()
, когда вы хотите сделать снимок. Все остальное необязательно. Если это слишком сложно, то мой старый код, который вы пытаетесь использовать, тоже. Кроме того, этот старый код был просто примером из книги. Работа напрямую с камерой очень сложна, поэтому я переключился на работу с библиотекой, которую могу поддерживать, не обязательно объясняя каждую строчку кода. - person CommonsWare   schedule 25.07.2013