Java 相机错误

Java 相机错误,java,android,camera,Java,Android,Camera,这是我在AndroidManifest.xml中的权限 <uses-permission android:name="android.permission.CAMERA" /> <uses-feature android:name="android.hardware.camera" /> 这是我的activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/ap

这是我在AndroidManifest.xml中的权限

<uses-permission android:name="android.permission.CAMERA" />
    <uses-feature android:name="android.hardware.camera" />
这是我的activity_main.xml

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <FrameLayout
        android:id="@+id/camera_preview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        />

    <Button
        android:id="@+id/button_capture"
        android:text="Capture"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        />
</LinearLayout>
当我打开应用程序时,它会崩溃,并且会出现以下错误:

05-16 16:17:55.694 14553-14553/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.test.badubadu.test, PID: 14553
                                                   java.lang.NullPointerException: Attempt to invoke virtual method 'void android.hardware.Camera.setPreviewDisplay(android.view.SurfaceHolder)' on a null object reference
                                                       at com.test.badubadu.test.CameraPreview.surfaceCreated(CameraPreview.java:31)
                                                       at android.view.SurfaceView.updateWindow(SurfaceView.java:622)
                                                       at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:161)
                                                       at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
                                                       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2205)
                                                       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1250)
                                                       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6311)
                                                       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
                                                       at android.view.Choreographer.doCallbacks(Choreographer.java:683)
                                                       at android.view.Choreographer.doFrame(Choreographer.java:619)
                                                       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
                                                       at android.os.Handler.handleCallback(Handler.java:751)
                                                       at android.os.Handler.dispatchMessage(Handler.java:95)
                                                       at android.os.Looper.loop(Looper.java:241)
                                                       at android.app.ActivityThread.main(ActivityThread.java:6217)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
编辑错误:

05-16 22:52:39.451 18993-18993/com.test.blaba.test W/CameraBase: An error occurred while connecting to camera 0: Service not available
05-16 22:52:39.451 18993-18993/com.test.blabla.test D/Error:: Error starting camera preview: Fail to connect to camera service
05-16 22:52:39.578 18993-19091/com.test.blaba.test I/Adreno: QUALCOMM build                   : b6da14b, I47548ba842
                                                                Build Date                       : 11/14/16
                                                                OpenGL ES Shader Compiler Version: XE031.09.00.03
                                                                Local Branch                     : 
                                                                Remote Branch                    : quic/LA.BF64.1.2.3_rb1.6
                                                                Remote Branch                    : NONE
                                                                Reconstruct Branch               : NOTHING
所以我不知道错误在哪里。。。
感谢您的帮助……:)

mCamera
null
,因为
getCameraInstance()
正在返回
null
。这很可能是因为
Camera.open()
正在引发异常始终确保可以看到异常。在早期软件开发过程中,这主要是通过记录这些异常(例如,
Log.e()
)。

mCamera
null
,因为
getCameraInstance()
返回
null
。这很可能是因为
Camera.open()
正在引发异常始终确保可以看到异常。在早期的软件开发过程中,这主要是通过记录这些异常(例如,
Log.e()
)。

您需要停止接受异常并将其读出-它们可能会让您了解问题所在!您需要停止吞咽您的异常并读出它们,因为它们可能会让您知道问题所在!抱歉,我不明白…我必须编辑什么才能让它工作:)@user7938448:查找代码中的每个
捕获项。确保在捕获异常时执行的代码块包含将记录该异常的内容。您在某些地方(例如,
Log.d(“错误:”,“启动相机预览时出错:”+e.getMessage());
),但不是全部。你需要它在所有这些。然后,再次运行代码,并查找其他错误消息。请参阅“我的更新…”有一个更具体的错误。@user7938448:尝试重新启动设备。通常,这个错误意味着某个东西获取了相机,但没有正确地释放它。我尝试了n次以上。它不起作用(我还能做什么?对不起,我不明白…我必须编辑什么才能让它工作:)@user7938448:查找代码中的每个
捕获项。确保在捕获异常时执行的代码块包含将记录该异常的内容。您在某些地方(例如,
Log.d(“错误:”,“启动相机预览时出错:”+e.getMessage());
),但不是全部。你需要它在所有这些。然后,再次运行代码,并查找其他错误消息。请参阅“我的更新…”有一个更具体的错误。@user7938448:尝试重新启动设备。通常,这个错误意味着某个东西获取了相机,但没有正确地释放它。我尝试了n次以上。它不起作用(我还能做什么?
05-16 16:17:55.694 14553-14553/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.test.badubadu.test, PID: 14553
                                                   java.lang.NullPointerException: Attempt to invoke virtual method 'void android.hardware.Camera.setPreviewDisplay(android.view.SurfaceHolder)' on a null object reference
                                                       at com.test.badubadu.test.CameraPreview.surfaceCreated(CameraPreview.java:31)
                                                       at android.view.SurfaceView.updateWindow(SurfaceView.java:622)
                                                       at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:161)
                                                       at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
                                                       at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2205)
                                                       at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1250)
                                                       at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6311)
                                                       at android.view.Choreographer$CallbackRecord.run(Choreographer.java:871)
                                                       at android.view.Choreographer.doCallbacks(Choreographer.java:683)
                                                       at android.view.Choreographer.doFrame(Choreographer.java:619)
                                                       at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:857)
                                                       at android.os.Handler.handleCallback(Handler.java:751)
                                                       at android.os.Handler.dispatchMessage(Handler.java:95)
                                                       at android.os.Looper.loop(Looper.java:241)
                                                       at android.app.ActivityThread.main(ActivityThread.java:6217)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:755)
05-16 22:52:39.451 18993-18993/com.test.blaba.test W/CameraBase: An error occurred while connecting to camera 0: Service not available
05-16 22:52:39.451 18993-18993/com.test.blabla.test D/Error:: Error starting camera preview: Fail to connect to camera service
05-16 22:52:39.578 18993-19091/com.test.blaba.test I/Adreno: QUALCOMM build                   : b6da14b, I47548ba842
                                                                Build Date                       : 11/14/16
                                                                OpenGL ES Shader Compiler Version: XE031.09.00.03
                                                                Local Branch                     : 
                                                                Remote Branch                    : quic/LA.BF64.1.2.3_rb1.6
                                                                Remote Branch                    : NONE
                                                                Reconstruct Branch               : NOTHING