Как запустить приложение камеры Android из оболочки adb? - PullRequest
13 голосов
/ 13 сентября 2011

Как запустить программу камеры Android из оболочки adb?
Я знаю, что мне нужно использовать am, но я не знаю, какую команду мне нужно точно ввести

Я использовал это:

am start -a android.intent.action.MAIN -n com.android.camera 

Но это не сработало!

Ответы [ 5 ]

37 голосов
/ 15 августа 2013

Кроме того, вы можете запустить камеру двумя другими способами

  1. Режим захвата изображения: adb shell "am start -a android.media.action.IMAGE_CAPTURE"
  2. Режим захвата видео: adb shell "am start -a android.media.action.VIDEO_CAPTURE"

Другая информация

  1. Для фокусировки: adb shell "input keyevent KEYCODE_FOCUS"
  2. Чтобы сделать фотографию или начать / остановить запись: adb shell "input keyevent KEYCODE_CAMERA"

Другие заметки

f строка кода ключа, например, KEYCODE_CAMERA, не работает, поиск значения константы в описании API. Пример: KEYCODE_CAMERA

KEYCODE_CAMERA: Added in API level 1
Constant Value: 27 (0x0000001b)
2 голосов
/ 13 сентября 2011
  • Создание класса CameraActivity.
  • Реализация там функций камеры и добавление в файл AndroidManifest.xml.
  • Затем используйте следующую команду:

    am start -a android.intent.action.MAIN -n [package-name].CameraActivity 
    

Надеюсь, это решит вашу проблему.

1 голос
/ 27 декабря 2018

Я бы хотел добавить к ответу Кео Малопе, что хотя IMAGE_CAPTURE и VIDEO_CAPTURE могут работать на большинстве устройств, я встречал случаи, когда они не работают должным образом,В этом случае у нас есть еще две постоянные, которые мы можем попробовать:

0 голосов
/ 21 февраля 2017

у меня здесь работает

adb shell am start -n com.mediatek.camera/com.android.camera.CameraActivity
0 голосов
/ 13 сентября 2011

Необходимо указать точное имя компонента (название действия).

am start -a android.intent.action.MAIN -n com.android.camera/.CameraEntry

Он работает на моем устройстве (HTC Desire HD), но я не могу гарантировать, что он будет работать везде.

...