2013-03-18 101 views
0

我正在寫一個本應該與三星galaxy ace兼容的應用程序。 我有以下代碼:三星galaxy ace surfaceview /相機錯誤

mPreview = (SurfaceView)findViewById(R.id.preview); 
mPreview.getHolder().addCallback(this); 
mPreview.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
mCamera.setDisplayOrientation(0);   
mCamera = Camera.open(); 

它崩潰在

mCamera.setDisplayOrientation(0); 

而提供了以下錯誤:

/AndroidRuntime(18011): Caused by: java.lang.NullPointerException 

我試圖將值設置爲90,180,270和360,但似乎沒有解決這個問題。

回答

1

這是因爲mCamera爲空。

您應該在Camera.open()之後致電setDisplayOrientation()

它是用Android開發人員網站(http://developer.android.com/reference/android/hardware/Camera.html)編寫的。

+0

謝謝,但它仍然是一樣的。 – HansStam 2013-03-19 01:34:20

+0

您是否在AndroidManifest.xml中配置了權限?如果您想使用相機,則需要添加'<使用權限android:name =「android.permission.CAMERA」/>'。 – 2013-03-19 10:08:24

+0

是的,我的清單裏有這個。 – HansStam 2013-03-20 07:12:05