【问题标题】:Access denied finding property "camera.hal1.packagelist"访问被拒绝查找属性“camera.hal1.packagelist”
【发布时间】:2018-06-23 22:47:19
【问题描述】:

在服务中使用相机时,手机屏幕变得不可触摸(被透明窗口锁定) 并且仅发生以下错误

Access denied finding property "camera.hal1.packagelist"

原因和解决方法是什么? 请帮忙..

【问题讨论】:

  • 为什么要投反对票,至少在投反对票之前给出/提供您对问题的看法
  • 这里也一样,你找到解决办法了吗?
  • 我已经更改了整个实现,但是对于这个问题,我没有找到任何解决方案,仍在等待正确的答案

标签: android android-service android-camera android-camera2


【解决方案1】:

我正在使用 Android 上相机应用程序的 OpenCV 教程代码。我遇到了同样的错误,在查看答案后,我确实错过了一个权限。

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

虽然应用程序不会在外部保存任何数据,但如果没有此权限,则会出现拒绝访问错误。 希望对您有所帮助。

【讨论】:

【解决方案2】:

我在我的应用程序中遇到了同样的错误,我正在使用表面视图并将其权重设置为零。我把它改回1,错误得到解决。请检查您的 xml 代码,它可能会有所帮助。

【讨论】:

    【解决方案3】:

    我的测试设备“LG V30”上的 Camera 1 API 遇到了同样的问题。我发现,当我像这样打开相机时,出现了这条消息(Access denied finding property "camera.hal1.packagelist"):

    int numberOfCameras = Camera.getNumberOfCameras();
    CameraInfo cameraInfo = new CameraInfo();
    for (int i = 0; i < numberOfCameras; i++) {
        Camera.getCameraInfo(i, cameraInfo);
        if (cameraInfo.facing == CameraInfo.CAMERA_FACING_BACK) {
            camera = Camera.open(i);
            cameraId = i;
        }
    }
    

    重要的是,这只发生在 LG V30 上,它有 2 个后置摄像头 (numberOfCameras=3)。

    经过一些测试,我发现这适用于该设备:

    /** 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
    }
    

    上面的示例代码将访问具有多个摄像头的设备上的第一个后置摄像头。 Here你可以找到详细的描述。

    【讨论】:

      【解决方案4】:

      请查看您是否向用户请求相机权限。 仅在清单中指定权限在某个 Android 级别之上是行不通的。
      这将解决您的问题。

      如何请求许可请关注此link

      【讨论】:

      • 我已经询问了所需的权限,这不是问题
      • 奇怪当我在 Android Oreo 设备上使用我的应用程序时,我遇到了与您描述的完全相同的问题。一旦我开始请求许可,它就得到了解决。错误日志也一样。
      • 可能是您的问题有权限问题,但在这种情况下,正在询问权限,我什至没有在 Oreo 上测试,我在 One Plus3、5 台设备上测试
      【解决方案5】:

      关于Access denied finding property 之类的错误

      • 不太可能原因:缺少相关用户权限
        • 其中
          • 应该增加相关配置
            • &lt;uses-permission android:name="android.permission.xxx"/&gt;
          • 运行应用程序时,首先弹出窗口授予相关权限,用户自己应该接受它
            • 授予/授予应用权限
      • 最可能原因 = 可能:
        • 由于(以前的日志,你可以看到它logcat)警告日志:
          • type=1400 audit(xxx): avc: denied { xxx } for name=xxx dev=xxx ino=xxx scontext=xxx tcontext=xxx tclass=xxx permissive=0

      如何修复avc: denied 错误?

      【讨论】:

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