W / CameraBase:连接相机时发生错误:0

有一个类似的问题,但尚未解决:

W /

CameraBase:连接相机时发生错误:camera.open()调用为0

我有一个(自然)正在使用相机的应用程序。它一直很好。但是,如果在构建之间没有代码更改,则应用程序开始崩溃(通过Git提交历史记录验证没有代码更改)。

为了进一步验证问题是否出在硬件中,我在另一部手机上运行了相同的代码,并且工作正常。相机以某种方式被锁定,无法打开。

以下是相关代码:

创建一个预览对象

_cameraPreview = new CameraPreview(getActivity(),_camera);

这是它的创建代码

 public CameraPreview(Context context, Camera camera) 

{

super(context);

_camera = camera;

_surfaceHolder = getHolder();

_surfaceHolder.addCallback(this);

}

打开相机:

//默认情况下打开后置摄像头

public static Camera getCameraInstance()

{

Camera c = null;

try

{

c = Camera.open();

}catch (Exception e)

{

e.printStackTrace();

}

return c;

}

这是发生错误的地方,camera.Open使用以下堆栈跟踪引发错误。我的相机对象为空。这段代码来自官方的Android文档,但是他们没有谈论如果从会话外部锁定相机时如何“释放相机”。

完整的注销是

W/CameraBase﹕ An error occurred while connecting to camera: 0

W/System.err﹕ java.lang.RuntimeException: Fail to connect to camera service

W/System.err﹕ at android.hardware.Camera.<init>(Camera.java:497)

W/System.err﹕ at android.hardware.Camera.open(Camera.java:357)

W/System.err﹕ at co.pumpup.app.EditPhotoFragment.getCameraInstance(EditPhotoFragment.java:241)

W/System.err﹕ at co.pumpup.app.EditPhotoFragment.onCreateView(EditPhotoFragment.java:76)

W/System.err﹕ at android.app.Fragment.performCreateView(Fragment.java:2053)

W/System.err﹕ at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:894)

W/System.err﹕ at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1067)

W/System.err﹕ at android.app.BackStackRecord.run(BackStackRecord.java:834)

W/System.err﹕ at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1452)

W/System.err﹕ at android.app.Activity.performStart(Activity.java:6005)

W/System.err﹕ at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2288)

W/System.err﹕ at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)

W/System.err﹕ at android.app.ActivityThread.access$800(ActivityThread.java:151)

W/System.err﹕ at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)

W/System.err﹕ at android.os.Handler.dispatchMessage(Handler.java:102)

W/System.err﹕ at android.os.Looper.loop(Looper.java:135)

W/System.err﹕ at android.app.ActivityThread.main(ActivityThread.java:5254)

W/System.err﹕ at java.lang.reflect.Method.invoke(Native Method)

W/System.err﹕ at java.lang.reflect.Method.invoke(Method.java:372)

W/System.err﹕ at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)

W/System.err﹕ at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)

回答:

“无法连接到相机服务”表示您(或其他)相机应用未能正确释放相机。在我开发应用程序时,偶尔也会发生这种情况。我要做的第一件事是从手机随附的默认相机应用程序中打开相机(只需点按“相​​机”按钮)。如果无法打开,则唯一的选择是重启手机。

这是推测,但是您的代码可能仅偶尔出现一个错误,并且只是到现在为止还没有出现。如果仍然存在,请查看与“如何在android中正确释放相机”相关的问题。他们帮助我解决了这个问题。

以上是 W / CameraBase:连接相机时发生错误:0 的全部内容, 来源链接: utcz.com/qa/407216.html

回到顶部