2014-11-24 6 views
0

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

ответ

0

Попробуйте этот код (от Android developer):

/** A safe way to get an instance of the Camera object. */ 
public static Camera getCameraInstance(){ 
    Camera c = null; 
    try { 
     c = Camera.open(); // attempt to get a Camera instance 
    } 
    catch (Exception e){ 
     // Camera is not available (in use or does not exist) 
    } 
    return c; // returns null if camera is unavailable 
} 
+0

Что вернется, если камера включена? –

+0

если камера включена в этот код приведет к исключению (потому что другое приложение использует камеру) –

0

Добавление к МАЕ Va Baos ответ,

Есть два способа открытия камеры - Camera.open() - дает камеру по умолчанию - Camera.open (интермедиат идентификатор) - здесь вы можете дать идентификатор (CameraInfo.CAMERA_FACING_BACK или CameraInfo.CAMERA_FACING_FRONT для большинства телефонов, я не экспериментировал с LGS 3D камерами: P)

Если вы получаете объект исключения или нулевой камеры, то есть - камера не существует - камера открыта каким-либо другим приложением, и она не была выпущена.

В обоих случаях вы не можете сделать многое другое, чем для отображения какое-то сообщение в пользовательском интерфейсе (например, тост)

Если вы получаете действительную камеру, вы можете делать операции на ней, как startpreview, остановить просмотр, сфотографировать ,

Практически все приложения на рынке, которые используют камеру, снимают камеру, когда активность, использующая камеру, переходит на задний план. Так что другие приложения могут его использовать. Это также правильный способ

Надеюсь, что это поможет.

С уважением, Shrish

Смежные вопросы