Cómo configurar la aplicación de cámara predeterminada de Android solo para orientación vertical
En mi aplicación de Android estoy capturando fotos usandoAndroid default camera
para este propósito, he usado el siguiente código. después de capturar una foto, he mostrado esa imagen en otra actividad en modo de pantalla completa. si capturé la imagen enportrait
modo Puedo configurar toda la imagen en modo de pantalla completa. se mostró bien, después de mostrar una imagen puedo realizar mi operación. Pero si capturé una foto delandscape
la imagen tomada se establecería en pantalla con estirado. así que me gustaría capturar fotos usando el modo vertical solo no en horizontal. Entonces, ¿cómo puedo bloquear la aplicación de la cámara solo para retratos?
String fileName = "Camera_Example.jpg";
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
values.put(MediaStore.Images.Media.DESCRIPTION,"Image capture by camera");
imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
intent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION,ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
startActivityForResult(intent,CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
AndroidManifest.xml
<activity
android:name=".TestActivity"
android:screenOrientation="portrait"
android:configChanges="orientation"
android:theme="@android:style/Theme.NoTitleBar" >
</activity>
retrato capturado foto
retrato capturado foto pantalla completa
foto capturada del paisaje
paisaje capturado foto pantalla completa