当前位置: 首页 > 知识库问答 >
问题:

Android usb许可-设计通用过滤器

孙俊彦
2023-03-14

我开发了一个文件管理器应用程序来探索Android文件系统。我如何使它适合探索连接到任何Android设备的USB存储设备。我尝试为USB_DEVICE_ATTACHED操作提供意图过滤器,还提供了设备过滤器列表。但是,问题是仅当用户插入其详细信息在筛选器列表中提及的 USB 设备时,才会显示权限对话框。我如何制作一个通用过滤器,当任何USB存储设备连接到Android设备时,请求用户许可(应用程序应请求连接的每个USB设备的权限)。

共有1个答案

慎俊艾
2023-03-14

不幸的是,这是一个有点棘手的话题,因为大多数USB存储设备都是这样分类的。

大容量存储设备将声明<code>USB_CLASS_Mass_storage</code>,但它们通常会在接口描述符上声明,这是Android不会在过滤器中评估的。因此,对于“只捕获任何制造商的大容量存储设备”的过滤器,您几乎没有资源。

您始终可以提供一个空设备筛选器,该筛选器匹配所有连接的设备。这有点像散弹枪,但它保证您的应用程序有机会:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <usb-device />
</resources>

从长远来看,您寄希望于这样一个事实,即普通Android用户只会连接很少的USB设备,如果他们安装了您的应用程序,它们很可能是存储设备。

我有一个示例应用程序,它可以从所有USB设备捕获连接事件。

尽管如此,您的应用程序不需要过滤和接收<code>USB_DEVICE_ATTACHED</code>事件就可以与这些设备通信。该事件的存在只是为了在建立连接时通知您的应用程序。您仍然可以随时查询<code>UsbManager

 类似资料:
  • 问题内容: 我的数据库中有两个表,和。一个操作需要零个或多个属性。但是,属性的​​属性分配有一些逻辑: 操作需要设备和 操作无需任何设备 操作需要设备,或者 操作需要设备(或)和(或) 用SQL表示这一点的最佳方法是什么? 我敢肯定人们以前已经做过,但是我不知道从哪里开始。 (FWIW,我的应用程序是使用Python和Django构建的。) 更新1: 将有大约一千行和三十行。信息以CSV形式出现,

  • 我通过这个flickr API获得了一组照片: 描述:http://www.flickr.com/services/api/flickr.tags.getclusterphotos.html示例:http://www.flickr.com/services/api/explore/flickr.tags.getclusterphotos

  • 简要描述 关于反射型的基本东西,暂时就到这啦,如果后面有什么好的 case,再做增补。最近,有些人会问到怎么绕过浏览器的 XSS 过滤 器,所以从这节开始,给出点绕过的例子。当然这些绕过浏览器的方法,不是万能的。不同浏览器,不同场景都会存在差异。满足场景 要求时,才可以使用。 此文给出的是一个来自 sogili 分享的 chrome 下绕过过滤器的方法,在腾讯某处 XSS 上的应用。 这一类都算是

  • 我试图收集流,丢弃很少使用的项目,如本例所示: 我有一种感觉,可以做得简单得多 - 我是对的吗?

  • 本文向大家介绍PHP 只允许指定IP访问(允许*号通配符过滤IP),包括了PHP 只允许指定IP访问(允许*号通配符过滤IP)的使用技巧和注意事项,需要的朋友参考一下 核心函数代码如下: 在需要检测的地方 加上调用 check_ip(); 即可;  本函数提供只允许指定的IP访问文件,并提供IP中*号通配符 匹配多IP 

  • 利用通配符进行复杂的数据操作。 LIKE 与 REGEXP 操作符 当需要搜索产品文本中包含某个特定关键字的所有产品,使用通配符来创建比较特定的数据搜索模式。 通配符(wildcard) 用来匹配值的一部分特殊字符。 搜索模式(search pattern) 由字母值,通配符两租组合构成的搜索条件。 通配符是SQL的WHERE子句中的特殊含义字符,子句中使用通配符必须使用LIKE操作符。 百分号%