Я хочу сделать снимок одним нажатием кнопки, без запроса какого-либо другого ввода от пользователя.
В настоящее время я использую намерение MediaStore.ACTION_IMAGE_CAPTURE
в своей деятельности,который вызывается при нажатии кнопки на виджете.На данный момент открывается предварительный просмотр камеры, позволяющий мне сделать снимок.
Это все отлично работает, однако я хочу, чтобы пользователь нажимал кнопку на виджете, сразу делал снимок и отображал предварительный просмотр захваченного изображения.Таким образом, он по сути снимает картинку автоматически, без необходимости нажимать что-либо еще пользователем.
Я пытался использовать API-интерфейс камеры напрямую, используя класс SurfaceView
для захвата изображения и вызова PictureCallback
и т. Д.это сработало так, как я хочу, однако качество изображений было очень низким, и я не мог понять, как это изменить.
Так что я думаю, что я ищу ответ на любой из этихдве проблемы, или обе, если кто-то их знает.
Во-первых, существует ли в любом случае что-то похожее на MediaStore.ACTION_IMAGE_CAPTURE
, предназначенное для автоматической привязки изображения, не запрашивая пользователя сделать снимок.
Или, во-вторых, как я могу повысить качество и разрешение изображения, полученного непосредственно с помощью Camera API (camera.takePicture(shutterCallback, rawCallback, jpegCallback
);и все эти дела).
Любая помощь будет высоко ценится.