我已将我的相机设置为this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
,它能正常工作,但是如果我将其更改为PORTRAIT
而不是LANDSCAPE
,那么它会崩溃并出现以下错误...
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): FATAL EXCEPTION: main
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): java.lang.RuntimeException: Fail to connect to camera service
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): at android.hardware.Camera.native_setup(Native Method)
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): at android.hardware.Camera.<init>(Camera.java:110)
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): at android.hardware.Camera.open(Camera.java:90)
07-30 12:51:37.655: ERROR/AndroidRuntime(22069): at org.digital.com.CamLayer.surfaceCreated(CamLayer.java:3
它崩溃的方法是...
public void surfaceCreated(SurfaceHolder holder) {
synchronized(this) {
mCamera = Camera.open();
Camera.Parameters p = mCamera.getParameters();
p.setPreviewSize(800, 480);
mCamera.setParameters(p);
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
Log.e("Camera", "mCamera.setPreviewDisplay(holder);");
}
mCamera.startPreview();
mCamera.setPreviewCallback(this);
}
}
当执行 mCamera = Camera.open();
时,程序崩溃。
我的清单文件中已经添加了<uses-permission android:name="android.permission.CAMERA"></uses-permission>
如何修复这个问题,以便我可以在竖屏模式下查看我的应用程序?