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 enterI 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
- Image capture mode:
adb shell "am start -a android.media.action.IMAGE_CAPTURE"
- Video capture mode:
adb shell "am start -a android.media.action.VIDEO_CAPTURE"
Other information
- To focus:
adb shell "input keyevent KEYCODE_FOCUS"
- 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
精彩评论