安卓相机的人像定位

我在我的应用程序中使用相机。 我只是用intent启动相机

 Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); startActivityForResult(cameraIntent, 101); 

捕获的图像自动进入landscape view 。 如何让cameraportrait view捕捉图像

  • 使用相机意图在android中获取捕获图像的路径
  • android camera:失败的结果ResultInfo {who = null,request = 0,result = -1,data = null}给activity
  • 照相机意图照片拍摄后删除图库图像
  • 活动杀死/ onCreate通过意图拍摄后调用
  • android减少摄像头捕获图像的文件大小小于500 kb
  • 广播接收器不会收到相机事件
  • Android上的相机示例
  • 捕捉图像后,Android 5.1.1默认相机在onActivityResult中返回空的意图
  • 如果设备具有v2.2或更高版本,则可以使用camera.setDisplayOrientation(90)将相机方向旋转为纵向。 在v2.2以下的设备中,摄像机只能以横向显示,因此图像将以横向显示。 检查这些文章在纵向方向使用相机 , 相机是错误的,除非键盘打开 。

    尝试这个。

      Parameters param = mCamera.getParameters(); switch(mDisplay.getRotation()){ case Surface.ROTATION_0: if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO){ mCamera.setDisplayOrientation(90); Log.d("Rotation_0", "whatever"); } else{ Log.d("Rotation_0", "whatever"); param.setRotation(90); mCamera.setParameters(param); } break; case Surface.ROTATION_90: if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO){ mCamera.setDisplayOrientation(0); Log.d("Rotation_0", "whatever"); } else{ Log.d("Rotation_90", "whatever"); param.setRotation(0); mCamera.setParameters(param); } break; } 

    在这里,这个代码适用于Android相机应用程序[肖像模式]中支持的所有types的方向。

     int rotation = this.getWindowManager().getDefaultDisplay().getRotation(); int degrees = 0; switch (rotation) { case Surface.ROTATION_0: degrees = 0; break; case Surface.ROTATION_90: degrees = 90; break; case Surface.ROTATION_180: degrees = 180; break; case Surface.ROTATION_270: degrees = 270; break; }