强制相机以横向模式拍摄图像

时间:2012-06-02 08:45:33

标签: android android-camera android-camera-intent

我有一个相机应用程序,我希望每当打开相机时,它只在横向模式下拍摄图像?我怎样才能实现这个目标?

Intent ia = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(ia,cameraData);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    // TODO Auto-generated method stub
    Log.d("value of pic1", ""+pic1);
    super.onActivityResult(requestCode, resultCode, data);
    if(resultCode == RESULT_OK){
        Bundle extras = data.getExtras();
        Bitmap bmp1 = (Bitmap) extras.get("data");
    }
}   

4 个答案:

答案 0 :(得分:1)

在AndroidManifest.xml文件中,您可以为应用程序指定可接受的方向。

要强制您的活动保持横向模式,只需在活动的定义标记中包含android:screenOrientation标记。

<activity android:name=".SomeActivity" android:label="@string/app_name" android:screenOrientation="landscape">

如果您要打开本机应用程序,则无法强制相机以横向模式拍摄图像。您不会在应用程序中对原生应用程序进行方向控制。

答案 1 :(得分:1)

要执行此操作,您可以使用自己的相机预览活动,而不是打开意图。您可以按照this示例轻松完成此操作。并将Actvity Orientation Mode设为Landscape。

答案 2 :(得分:1)

使用此setDisplayOrientation你可以做到这一点 see here

答案 3 :(得分:0)

将方向指定为特定活动标记的横向,在AndroidManifest.xml文件中调用屏幕进行图像捕获。