Android Force Camera To Take Photo In Landscape Mode
Solution 1:
In androidmanifest.xml
<activityandroid:name="activity_name"android:screenOrientation="landscape" />
This activity will be your image capturing activity.
Solution 2:
Using ACTION_IMAGE_CAPTURE
intent you have limited control of the app that actually drives the camera. You can expect it to comply with the Intent contract, but nothing more than that.
Standard Intent action that can be sent to have the camera application capture an image and return it.
The caller may pass an extra EXTRA_OUTPUT to control where this image will be written. If the EXTRA_OUTPUT is not present, then a small sized image is returned as a Bitmap object in the extra field. This is useful for applications that only need a small image. If the EXTRA_OUTPUT is present, then the full-sized image will be written to the Uri value of EXTRA_OUTPUT. As of LOLLIPOP, this uri can also be supplied through setClipData(ClipData). If using this approach, you still must supply the uri through the EXTRA_OUTPUT field for compatibility with old applications. If you don't set a ClipData, it will be copied there for you when calling startActivity(Intent).
Note: if you app targets M and above and declares as using the CAMERA permission which is not granted, then atempting to use this action will result in a SecurityException.
You can receive the image from this intent and force rotate it to Landscape, if you are interested. Note that many camera apps today only produce Landscape photos anyway.
Post a Comment for "Android Force Camera To Take Photo In Landscape Mode"