【问题标题】:Library Barcode Scanner ZXing giving black Screen图书馆条码扫描器 ZXing 给黑屏
【发布时间】:2016-01-09 00:44:33
【问题描述】:

我正在使用ZXing 的条码扫描器库。 它适用于我所有的测试设备,除了 运行 Android 6 的 Nexus 5。 启动活动它只会出现黑屏,仅此而已。 所以我想,好吧,也许有一些兼容性问题 我下载了ZXing发布的官方条码应用程序。 但它在 Nexus 5 上运行良好。

所以实际上我有点恼火我可能做错了什么......

在 Android 监视器中,我收到消息:

android 连接相机 0 时出错

我已经搜索了该状态消息,但没有找到任何对我有用的信息。

有没有人建议如何解决这个问题? 或者提示如何识别问题原因?

【问题讨论】:

  • 您的应用是否请求适当的权限?
  • 是的,确实如此:。并且该代码在其他设备上运行良好(那些具有 android 4-5)。也许它与 Android 6 有一些共同点?
  • 我之前发生过几次。您必须手动为您的应用授予相机权限(转到设置-> 应用程序)。有时,特别是当我手动卸载应用程序然后从 Android Studio 安装它时,它会以某种方式失去权限。
  • 你为我节省了很多时间!谢谢
  • 我有同样的“问题”。您可以请求和 M 权限 OnResume 并在您处理响应时初始化 ZXing lib。还注意到,如果用户不允许应用使用相机并且完成活动时,您必须检查 stopCamera 方法。

标签: android camera barcode


【解决方案1】:

Android 6 不接受来自 Manifest 文件的权限 您应该在运行时请求许可。 像这样的东西:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M &&
                        getActivity().checkSelfPermission(Manifest.permission.CAMERA)
                                != PackageManager.PERMISSION_GRANTED) {
                    requestPermissions(new String[]{Manifest.permission.CAMERA},
                            PERMISSIONS_REQUEST_ACCESS_CAMERA);
                } else {
                    mScannerView.startCamera();
                }

然后覆盖 onRequestPermissionResult :

@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (requestCode == PERMISSIONS_REQUEST_ACCESS_CAMERA) {
            if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                mScannerView.startCamera();
            }
        }
    }

希望这会有所帮助:)

【讨论】:

    【解决方案2】:

    我在 Android 6 下的 Nexus 5X 上也遇到了同样的问题。解决方法是添加 Flashlight 权限。

    <uses-permission android:name="android.permission.FLASHLIGHT" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 2013-04-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多