访问被拒绝查找属性“camera.hal1.packagelist”

Posted

技术标签:

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

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

Access denied finding property "camera.hal1.packagelist"

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

【问题讨论】:

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

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

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

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

【讨论】:

这是什么原因? 找到另一个有用的链接,建议在设置中实际检查应用权限。在我的情况下,权限被撤销:***.com/questions/37889800/…【参考方案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 错误?

简单: 参考官方文档Validating SELinux | Android Open Source Project尝试使用audit2allow和相关工具修复。 详细说明: 推荐我的another post's anwser

【讨论】:

以上是关于访问被拒绝查找属性“camera.hal1.packagelist”的主要内容,如果未能解决你的问题,请参考以下文章

访问被拒绝查找属性“vendor.camera.aux.packagelist”

出现错误:访问被拒绝在某些设备上查找属性“vendor.camera.aux.packagelist”

访问被拒绝查找属性ro.vendor.hwui.texture_cache_size

应用程序被拒绝:查找访问隐私敏感数据的 (cocoapod) 库的系统方法

清除相同属性后设置属性访问被拒绝

“对路径的访问被拒绝.” 是怎么回事