Обновление Я прекрасно понимаю, что все приложения разные, и стандарта нет. Я задаю следующий вопрос в надежде, что его прочтет кто-то, обладающий знаниями внутренних областей приложений камеры Samsung.
Я занимаюсь разработкой средства автоматизации, которое должно захватывать изображения с помощью смартфона Android.
Смартфон всегда подключен к ПК с помощью USB-кабеля и управляется adb.
До сих пор мне удавалось запустить приложение камеры, отправить ему событие KEYCODE_CAMERA
и вытащить самый новый файл вкаталог камеры по умолчанию (/sdcard/DCIM/Camera
):
adb am start -a android.media.action.STILL_IMAGE_CAMERA -n com.sec.android.app.camera/.Camera # launch camera app.
adb shell input keyevent KEYCODE_CAMERA # take a picture
adb shell ls -t /sdcard/DCIM/Camera | head -1 # determine name of newly created file
Мне не нравится, что я не могу отключить автоматическую экспозицию и другие "магические" функции, включенные в приложениях камеры Samsung по умолчанию. Я также не могу контролировать имя файла.
Я нашел другое действие, android.media.action.IMAGE_CAPTURE
. Когда я запускаю намерение с ним, приложение камеры не показывает никаких дополнительных элементов управления.
Когда я отправляю событие KEYCODE_CAMERA
, оно показывает предварительный просмотр захваченного изображения и две кнопки «Повторить» и «Ок»,Этот предварительный просмотр исчезает после того, как я запускаю событие KEYCODE_ENTER
.
Однако я не вижу ни одного файла с захваченным изображением.
Диспетчер активности показывает много переключателей командной строки при запуске без параметров, чтопредположить, что это дает богатые возможности.
Можно ли заставить камеру работать, чтобы сохранить файл?
Я использую Galaxy Tab S4 с Android 8.1, версия приложения камеры 8.0.11.11