title: Android set Orientation Portrait in Surface view
body: <p>I using this code to view Live frame on camera and take picture but orientation of camera is not true , please help me , thanks</p>
  
  <p>CameraOverview.java :</p>
  
  <pre><code>import java.io.File;
  import java.io.FileNotFoundException;
  import java.io.FileOutputStream;
  import java.io.IOException;
  
  import android.app.ActionBar.LayoutParams;
  import android.app.Activity;
  import android.content.pm.ActivityInfo;
  import android.graphics.Bitmap;
  import android.graphics.BitmapFactory;
  import android.graphics.Canvas;
  import android.graphics.PixelFormat;
  import android.graphics.drawable.Drawable;
  import android.hardware.Camera;
  import android.hardware.Camera.PictureCallback;
  import android.hardware.Camera.ShutterCallback;
  import android.os.Bundle;
  import android.os.Environment;
  import android.util.Log;
  import android.view.Display;
  import android.view.LayoutInflater;
  import android.view.SurfaceHolder;
  import android.view.SurfaceView;
  import android.view.View;
  import android.view.Window;
  import android.view.WindowManager;
  import android.widget.Button;
  import android.widget.Toast;
  
  public class CameraOverview1 extends Activity implements   SurfaceHolder.Callback{
  
  private Camera camera = null;
  private SurfaceView cameraSurfaceView = null;
  private SurfaceHolder cameraSurfaceHolder = null;
  private boolean previewing = false;
  
  private Display display = null;
  
  
  private static int wid = 0, hgt = 0;
  
  private LayoutInflater layoutInflater = null;
  private View cameraViewControl = null;
  private LayoutParams layoutParamsControl = null;
  
  private Button btnCapture = null;
  
  @SuppressWarnings("deprecation")
  @Override
  protected void onCreate(Bundle savedInstanceState) 
  {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
  
  
  
  display = getWindowManager().getDefaultDisplay();
  wid = display.getWidth();
  hgt = display.getHeight();
  
  getWindow().setFormat(PixelFormat.TRANSLUCENT);
  requestWindowFeature(Window.FEATURE_NO_TITLE);
      getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
  
  
  
   setContentView(R.layout.cameraoverlay1);
  
  cameraSurfaceView = (SurfaceView)findViewById(R.id.cameraSurfaceView);
  cameraSurfaceHolder = cameraSurfaceView.getHolder();
  cameraSurfaceHolder.addCallback(this);
  cameraSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  
  
  layoutInflater = LayoutInflater.from(getBaseContext());
  layoutParamsControl = new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
  
  
  cameraViewControl = layoutInflater.inflate(R.layout.cambutton, null);     
  this.addContentView(cameraViewControl, layoutParamsControl);
  btnCapture = (Button)findViewById(R.id.btnCapture);
  btnCapture.setOnClickListener(new android.view.View.OnClickListener() 
  {   
      @Override
      public void onClick(View v) 
      {
          // TODO Auto-generated method stub
          camera.takePicture(cameraShutterCallback, 
                  cameraPictureCallbackRaw,
                  cameraPictureCallbackJpeg);
  
      }
  });
   } 
  
          ShutterCallback cameraShutterCallback = new ShutterCallback() 
     {  
      @Override
     public void onShutter() 
      {
       // TODO Auto-generated method stub 
       Toast.makeText(getApplicationContext(), "Your pic Captured",Toast.LENGTH_LONG).show();}};
  
  
        PictureCallback cameraPictureCallbackRaw = new PictureCallback() 
        {  
      @Override
     public void onPictureTaken(byte[] data, Camera camera) 
     {
      // TODO Auto-generated method stub   
     }
     };
  
        PictureCallback cameraPictureCallbackJpeg = new PictureCallback() 
       {  
  @Override
  public void onPictureTaken(byte[] data, Camera camera) 
  {
      // TODO Auto-generated method stub   
      Bitmap cameraBitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
  
      wid = cameraBitmap.getWidth();
      hgt = cameraBitmap.getHeight();
  
      Bitmap newImage = Bitmap.createScaledBitmap(cameraBitmap, 608, 1080, true);
  
      Canvas canvas = new Canvas(newImage);
  
      canvas.drawBitmap(cameraBitmap, 0f, 0f, null);
  
      Drawable drawable = getResources().getDrawable
              (R.drawable.w1a);
      drawable.setBounds(0, 0, 608, 1080);
      drawable.draw(canvas);
  
      File storagePath = new File(Environment.
              getExternalStorageDirectory() + "/BackToLife/face/1/"); 
      storagePath.mkdirs(); 
  
      File myImage = new File(storagePath,
              Long.toString(1) + ".jpg");
  
      try
      {
          FileOutputStream out = new FileOutputStream(myImage);
          newImage.compress(Bitmap.CompressFormat.JPEG, 80, out);
  
  
          out.flush();
          out.close();
      }
      catch(FileNotFoundException e)
      {
          Log.d("In Saving File", e + "");    
      }
      catch(IOException e)
      {
          Log.d("In Saving File", e + "");
      }
   camera.startPreview();
  
      drawable = null;
        newImage.recycle();
      newImage = null;
       cameraBitmap.recycle();
      cameraBitmap = null;
  
       }
    };
  
       @Override
    public void surfaceChanged(SurfaceHolder holder, 
      int format, int width, int height) 
       {
  // TODO Auto-generated method stub
  
  if(previewing)
  {
      camera.stopPreview();
      previewing = false;
  }
  if (camera != null){
      try 
      {
  
  
      camera.setPreviewDisplay(cameraSurfaceHolder);
      camera.startPreview();
  
      previewing = true;
      } 
      catch (IOException e) 
       {
           // TODO Auto-generated catch block
          e.printStackTrace();  
        } 
       }
       }
  
        @Override
         public void surfaceCreated(SurfaceHolder holder) 
             {
         // TODO Auto-generated method stub
  
  try
  {
      camera = Camera.open();
  
  }
  catch(RuntimeException e)
  {
      Toast.makeText(getApplicationContext(), "Device camera is not working properly, please try after sometime.", Toast.LENGTH_LONG).show();
  }
     }
  
    @Override
    public void surfaceDestroyed(SurfaceHolder holder) 
   {
  // TODO Auto-generated method stub
  camera.stopPreview();
  camera.release();
  camera = null;
  previewing = false;
   }}
  </code></pre>
  
  <p>I try fix it with setOrientation(90) but when activity run app stop working . </p>