【问题标题】:QRCodeReaderView library crashing my android applicationQRCodeReaderView 库使我的 android 应用程序崩溃
【发布时间】:2016-11-20 16:17:53
【问题描述】:

更新到 QRCodeReaderView 最新版本后,我的应用程序崩溃仍未停止,出现不同的问题。 致命异常:java.lang.RuntimeException:无法连接到相机服务 在 android.hardware.Camera.(Camera.java:565) 在 android.hardware.Camera.open(Camera.java:372) 在 com.google.zxing.client.android.camera.open.OpenCameraInterface.open(OpenCameraInterface.java:76) 在 com.google.zxing.client.android.camera.CameraManager.openDriver(CameraManager.java:96) 在 com.dlazaro66.qrcodereaderview.QRCodeReaderView.surfaceCreated(QRCodeReaderView.java:183) 在 android.view.SurfaceView.updateWindow(SurfaceView.java:579) 在 android.view.SurfaceView$3.onPreDraw(SurfaceView.java:176) 在 android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:847) 在 android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1956) 在 android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1054) 在 android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5786) 在 android.view.Choreographer$CallbackRecord.run(Choreographer.java:767) 在 android.view.Choreographer.doCallbacks(Choreographer.java:580) 在 android.view.Choreographer.doFrame(Choreographer.java:550) 在 android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:135) 在 android.app.ActivityThread.main(ActivityThread.java:5296) 在 java.lang.reflect.Method.invoke(Method.java) 在 java.lang.reflect.Method.invoke(Method.java:372) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)

【问题讨论】:

    标签: android


    【解决方案1】:

    我是这个库的作者,我刚刚发布了一个新的 2.0,有几个改进,尝试更新到最新版本,看看问题是否得到解决。

    请在此处查看:https://github.com/dlazaro66/QRCodeReaderView,如果不起作用,请在此处打开问题。

    【讨论】:

      【解决方案2】:

      检查您对 Manifest 文件的权限。 如果您在 android 6.0+ 上启动应用程序,则应使用如下所示的权限请求;

       // Here, thisActivity is the current activity
          if (ContextCompat.checkSelfPermission(thisActivity,
                           Manifest.permission.CAMERA)
                  != PackageManager.PERMISSION_GRANTED) {
      
              // Should we show an explanation?
              if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
                       Manifest.permission.CAMERA)) {
      
                  // Show an explanation to the user *asynchronously* -- don't block
                  // this thread waiting for the user's response! After the user
                  // sees the explanation, try again to request the permission.
      
              } else {
      
                  // No explanation needed, we can request the permission.
      
                  ActivityCompat.requestPermissions(thisActivity,
                          new String[]{ Manifest.permission.CAMERA},
                          MY_PERMISSIONS_REQUEST_CAMERA);
      
                  // MY_PERMISSIONS_REQUEST_CAMERA is an
                  // app-defined int constant. The callback method gets the
                  // result of the request.
              }
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-14
        • 2014-12-30
        • 1970-01-01
        • 2019-04-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多