开发者

How can I run Android camera application from adb shell?

How can I run android camera program from adb shell?

I know that I should use am but I do not know what command should I exactly enter

I used this:

am start -a android.intent.action.MAIN -n com.android.came开发者_运维知识库ra 

But it didn't work!


Alternatively, you can start the camera in 2 other ways

  1. Image capture mode: adb shell "am start -a android.media.action.IMAGE_CAPTURE"
  2. Video capture mode: adb shell "am start -a android.media.action.VIDEO_CAPTURE"

Other information

  1. To focus: adb shell "input keyevent KEYCODE_FOCUS"
  2. To take a photo or start/stop recording: adb shell "input keyevent KEYCODE_CAMERA"

Other notes

f the keycode string e.g KEYCODE_CAMERA, does not work, lookup the constant value from the API description. Example: KEYCODE_CAMERA

KEYCODE_CAMERA: Added in API level 1
Constant Value: 27 (0x0000001b)


I'd like to add to Keo Malope's answer that while IMAGE_CAPTURE and VIDEO_CAPTURE are likely to work on most devices, I have encountered cases where they don't work as expected. In this case, we have two more constants that we can try:

  • STILL_IMAGE_CAMERA
    • adb shell am start -a android.media.action.STILL_IMAGE_CAMERA
  • VIDEO_CAMERA
    • adb shell am start -a android.media.action.VIDEO_CAMERA


  • Create a CameraActivity class.
  • Implement camera functionality there and add to AndroidManifest.xml file.
  • Then use following command:

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

I hope this will solve your problem.


You need to specify exact component name (name of activity).

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

It is working on my device (HTC Desire HD), but I can't guarantee that it'll work everywhere.


it works for me here

adb shell am start -n com.mediatek.camera/com.android.camera.CameraActivity
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜