无法打开相机

时间:2015-08-31 13:42:17

标签: android

我正在开发一款Android应用程序,目前在模拟器和Nexus 5设备上看起来很不错。

但是,在全新的三星J5设备上,我确实遇到了相机问题。 以下是Logcat的输出:

08-31 15:36:28.367    6551-6731/be.dsoft.debouwenconstructieapp E/CameraInstance﹕ Failed to open camera
java.lang.RuntimeException: Fail to connect to camera service
        at android.hardware.Camera.<init>(Camera.java:550)
        at android.hardware.Camera.open(Camera.java:390)
        at com.google.zxing.client.android.camera.open.OpenCameraInterface.open(OpenCameraInterface.java:83)
        at com.journeyapps.barcodescanner.camera.CameraManager.open(CameraManager.java:121)
        at com.journeyapps.barcodescanner.camera.CameraInstance$3.run(CameraInstance.java:158)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.os.HandlerThread.run(HandlerThread.java:61)

当然我的权限设置正确,因为它在其他设备上工作,但请参阅下文:

<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

以下代码给出了一个问题:

  // Gets the view in the scanner will be showed.
   barcodeScannerView = (CompoundBarcodeView)findViewById(R.id.barcode_scanner_view);
   // Start capturing a set a callback to catch the results.
   capture = new CaptureManager(this, barcodeScannerView);
   capture.initializeFromIntent(getIntent(), savedInstanceState);
   barcodeScannerView.decodeSingle(callback);

注意:在我的Nexus 5设备上,我运行的是Android 6,我遇到了同样的问题。 经过几个小时的搜索,我终于发现,自Android 6以来,您可以控制每个应用程序的权限(在那里,相机被禁用)。启用此功能后,它在我的设备上运行正常。

现在,三星设备运行的是Android 5,其中应用程序权限无法更改,但是,我确实看到了上述错误。

Anoyone知道什么是错的?

亲切的问候

0 个答案:

没有答案