【发布时间】:2014-10-08 06:05:30
【问题描述】:
在我的 android 应用程序中,我正在使用 Android default camera 拍摄照片,为此我使用了以下代码。拍摄照片后,我以全屏模式将该图像显示到另一个活动中。如果我以 portrait 模式拍摄图像我可以将整个图像设置为全屏模式。它显示得很好,在显示图像后我可以执行我的操作。但是如果我从landscape 拍摄照片,拍摄的图像将在屏幕上拉伸。所以我想只使用纵向模式而不是横向模式来拍摄照片。那么我如何才能锁定相机应用程序仅用于肖像。
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>
人像拍摄照片
人像拍摄照片全屏
风景拍摄照片
风景拍摄照片全屏
【问题讨论】:
标签: android android-camera android-orientation android-camera-intent