Как использовать уже открытый объект камеры в Android?

Я делаю проект, связанный с живыми обоями, мое требование к приложению - когда пользователь нажимает кнопку предварительного просмотра камеры, установленную в качестве обоев. я делаю все это, но проблема заключается в том, что после установки предварительного просмотра камеры в качестве обоев, когда я пытаюсь открыть камеру, она показывает, что камера не удалась, я знаю, что мы создаем только один объект камеры за раз, но проблема заключалась в том, как освободить камеру Прежде чем пользователь будет использовать камеру в других приложениях, и как запустить предварительный просмотр камеры в обоях после того, как пользователь динамически закроет приложение камеры. может ли кто-нибудь дать мне представление, как я могу это сделать?


person Somanadh    schedule 06.01.2014    source источник
comment
дубликат stackoverflow.com/questions/10106930/   -  person Shailendra Madda    schedule 06.01.2014
comment
я уже искал эту проблему при переполнении стека, я не получил никакого решения, а затем задам этот вопрос   -  person Somanadh    schedule 06.01.2014


Ответы (2)


Вы должны немедленно освободить камеру. когда вам это больше не нужно, может быть, как только будут установлены новые обои. Но вы должны отпустить камеру, когда ваше действие теряет фокус.

person Alex Cohn    schedule 06.01.2014
comment
Спасибо за ответ, моя проблема в том, что я использую службу обоев, чтобы установить камеру в качестве обоев, это непрерывный процесс, я завершил этот шаг. но проблема начинается, когда пользователь открывает камеру, как он узнает, что отпустил камеру, а затем, закрыв камеру, как он узнает, установить камеру в качестве обоев - person Somanadh; 06.01.2014

Я переопределяю метод изменения onVisibilityChanged (логическое видимое) в классе Engine, чтобы решить проблему.

public void onVisibilityChanged(boolean visible) {
    // TODO Auto-generated method stub
    super.onVisibilityChanged(visible);
    if (visible) {
        try {
             "OPEN THE CAMERA OBJECT"
        }catch(Exception e){
             e.printStackTrace();
        }
    }
    else {
         try {
             //release the camera obj
         }catch (RuntimeException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
         }
    }
}
person Somanadh    schedule 08.01.2014