要获得Android文档中相机方向的代码示例,可以按照以下步骤进行:
步骤1:在AndroidManifest.xml文件中添加以下权限:
步骤2:在活动或片段中使用以下代码来获取相机方向:
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
private Camera mCamera;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 检查设备是否具有相机功能
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)) {
// 获取相机实例
mCamera = Camera.open();
// 获取相机方向
int cameraOrientation = getCameraOrientation();
}
}
private int getCameraOrientation() {
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(Camera.CameraInfo.CAMERA_FACING_BACK, info);
int rotation = 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;
}
return result;
}
@Override
protected void onDestroy() {
super.onDestroy();
// 释放相机资源
if (mCamera != null) {
mCamera.release();
mCamera = null;
}
}
}
这个示例代码演示了如何在Android应用程序中获取相机方向。请确保在使用相机之前检查设备是否具有相机功能,并在不需要相机时释放相关资源。
下一篇:android稳定性测试