根据 Android 开发者网站:
android 2.2之后有这个功能
“设置显示方向”
调整相机预览旋转。
并且根据 Android Developer Site ,我们可以找到以下源代码。
android.hardware.Camera.CameraInfo info =
new android.hardware.Camera.CameraInfo();
android.hardware.Camera.getCameraInfo(cameraId, info);
int rotation = activity.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 ;
}
int result ;
if ( info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
result = ( info.orientation + degrees ) % 360 ;
result = ( 360 - result ) % 360 ; // compensate the mirror
} else { // back-facing
result = ( info.orientation - degrees + 360 ) % 360 ;
}
但是,我不能使用某种设备。像三星 Galaxy Y S5360、S5660、YP-G1、YP-G70 等
只是机器的一部分不工作,Galaxy Nexus、SII 或一些高端设备,它工作正常。
setDisplayOrientation 不支持,或者设备固件没有准备好?
PS。所有设备均为 Android 2.3.1 或更高版本。
帮助。