According to Android Developer Site:
after android 2.2 there is the function
" setDisplayOrientation "
to adjust the camera preview rotation.
And also according to the Android Developer Site , we can find following source code.
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 ;
}
However, i can not work with some kind of Devices. Like Samsung Galaxy Y S5360, S5660 , YP-G1, YP-G70, etc
Just part of machine not working, Galaxy Nexus, SII , or some high end device, it work fine.
Does setDisplayOrientation not support , or the devices firmware is not ready?
PS. All devices are Android 2.3.1 or above.
Help.