QRCodeReaderView 库使我的 android 应用程序崩溃
Posted
技术标签:
【中文标题】QRCodeReaderView 库使我的 android 应用程序崩溃【英文标题】:QRCodeReaderView library crashing my android application 【发布时间】: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)
【问题讨论】:
【参考方案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.
【讨论】:
以上是关于QRCodeReaderView 库使我的 android 应用程序崩溃的主要内容,如果未能解决你的问题,请参考以下文章
AppBarLayout 与 FrameLayout 容器作为滚动内容不起作用
SNMP 扩展使我的 php 5.6.7 和 5.6.10 (windows 8) 崩溃
什么 .NET 的 SNMP 库使陷阱、设置或变得简单? [关闭]