【问题标题】:"Access denied finding property 'camera.hal1.packagelist'" error thrown when open QR Scanner Intent on LG V30?在 LG V30 上打开 QR 扫描仪意图时引发“访问被拒绝查找属性 'camera.hal1.packagelist'”错误?
【发布时间】:2020-06-23 11:44:07
【问题描述】:

来自这个问题,here

我目前正在开发一个需要通过设备的内置摄像头扫描二维码的应用程序,使用以下库:

implementation 'com.google.zxing:core:3.3.3'
implementation 'com.journeyapps:zxing-android-embedded:3.5.0'

我用来扫描二维码的逻辑如下,取自tutorial

   IntentIntegrator integrator = new IntentIntegrator(QR_Activity.this);
   integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES);
   integrator.setPrompt("Scan");
   integrator.setCameraId(0);
   integrator.setBeepEnabled(false);
   integrator.setBarcodeImageEnabled(false);
   integrator.initiateScan();

此代码正在使用View.OnClickListener() 的Button 内部调用,结果由onActivityResult 处理

每当我运行此代码并从扫描仪返回结果时,扫描仪什么都不返回,并且将异常写入控制台,即Access denied finding property "camera.hal1.packagelist"。已成功授予应用程序权限。有问题的权限是CAMERAINTERNET 权限。

有问题的测试设备是 LG V30+ ThinQ 智能手机。

有没有办法解决这个问题?或者这个问题在所有具有双摄像头设置的智能手机上普遍存在,因此“无法修复”?

更新

使用以下代码进行简单测试:

/** A safe way to get an instance of the Camera object. */
public static Camera getCameraInstance(){
    Camera c = null;
    try {
        c = Camera.open(); // attempt to get a Camera instance
    }
    catch (Exception e){
        // Camera is not available (in use or does not exist)
    }
    return c; // returns null if camera is unavailable
}

(代码取自上述帖子中的answer。)

以上代码产生与上面显示的IntentIntegrator 代码相同的结果,并引发与之前相同的Access denied finding property "camera.hal1.packagelist" 错误。

【问题讨论】:

    标签: java android android-camera qr-code android-camera2


    【解决方案1】:

    经过深思熟虑和大量实验,我找到了解决这个问题的方法。每次单击 QR 扫描按钮时,该解决方案似乎来自 IntentIntegrator 类的新声明。我的意思是使用以下行授予对相机的访问权限

    new IntentIntegrator(MyActivity.this).initiateScan();
    

    据我了解,显式声明对象实例化的可选参数(即setBeepEnabled 等)会导致问题,因此即使硬件的权限已经获得,也拒绝应用程序实际使用相机的权限事先获得批准。

    在此基础上,应在IntentIntegrator 声明中声明和设置可选参数,而不是显式地在不同的行上。这样,应用程序仍然可以访问相机硬件,但现在可以满足其他可选参数和功能。我的意思是参数应该指定如下:

    new IntentIntegrator(MyActivity.this).setBeepEnabled(false).initiateScan();
    

    此修复似乎适用于所有双摄像头设置

    【讨论】:

      猜你喜欢
      • 2018-06-23
      • 1970-01-01
      • 2019-08-16
      • 2020-03-31
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多