首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在“颤振”中访问外部摄像机时出错--“用户未授予访问该设备的权限”

在“颤振”中访问外部摄像机时出错--“用户未授予访问该设备的权限”
EN

Stack Overflow用户
提问于 2021-11-26 21:28:33
回答 2查看 593关注 0票数 5

我想通过我的平板电脑访问一个USB摄像头。

我下载这个项目是为了学习和测试。它工作得很完美。相机打开,拍照,保存。

项目- github

我创建了一个动态项目,并创建了一个访问应用程序的通信通道。但当我试图打开相机的时候,我就收到了这样的信息:

用户未授予10404/com.example.monoramto访问设备/dev/bus/usb/001/002的权限

我有一个device_filter.xml文件,其中添加了设备PID和VID:

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>

<usb>
    <usb-device class="239" subclass="2" /> <!-- all device of UVC -->
    <!-- a few android 9.0 -->
    <usb-device class="14" subclass="9" />
    <usb-device class="2" subclass="0" />
    <usb-device class="6" subclass="-1" />
    <usb-device class="39" subclass="0" />
    <usb-device product-id="4836" vendor-id="9573" />
    <usb-device product-id="2229" vendor-id="1133" />
    <usb-device product-id="640" vendor-id="1409" />
    <usb-device product-id="258" vendor-id="9228" />
    <usb-device product-id="2074" vendor-id="1133" />

</usb>

还报告了这些错误。

我很感谢你的评论!

EN

回答 2

Stack Overflow用户

发布于 2022-04-12 17:23:15

同样的问题,这里有一个类似的应用程序(摄像头)。这两个应用程序的UI看起来都一样,甚至有相同的标题(UVCCamera),这让我怀疑它们是遗传相关的。

Android需要应用程序在访问USB设备之前获得许可。据我所知,有两种方法可以做到:

  • 为应用程序定义一个意图过滤器。如果连接了匹配的USB设备,则提示用户允许应用程序访问USB设备,然后启动应用程序。在这种情况下,应用程序已经有了许可。意图筛选器需要侦听设备列表,如device_filter.xml
  • 如果应用程序扫描设备而不是等待通知,则必须显式地获得许可。这与https://developer.android.com/guide/topics/connectivity/usb/host.html#permission-d中描述的其他运行时权限非常相似。

如果你的应用程序扫描USB摄像头设备,而不是监听一个意图,第一个选项是不可用的,修改device_filter.xml没有任何效果。在发现相机时,您必须请求该权限,并将相机访问推迟到权限被授予为止。

票数 0
EN

Stack Overflow用户

发布于 2021-11-27 01:30:17

我从你的问题中了解到,相机的许可有问题,所以有一个类似于你的问题已经被回答了。所以看一看:

如何在颤振中请求和检查权限

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70130204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档