Android USB 主机 API 和 USB 存储

2024-02-19

我正在尝试使用 android 主机 api 进行 USB 存储。我对此有很多疑问。

  1. 使用主机 API 一切皆有可能。我想查看 USB 的内容,如果可能的话,查看正常的文件操作。我没有找到任何与此相关的文档帮助。

  2. 我可以使用 UsbDeviceConnection 类 API 声明接口,但我无法理解批量传输的工作原理,因此如果有人可以指导我或提供一些参考,我会自己尝试。

我也尝试阅读USB规范,我了解bulkTransfer如何在USB级别工作,但无法关联如何使用bulkTransfer(使用UsbEndpoint而不是文件描述符)进行android/java文件操作。

提前致谢 !!


Android USB Host API 不包含 USB 海量存储文件系统代码,也不包含截至 2014 年撰写本文将在操作系统级别“存储”Android 安装 USB 大容量存储卷。

因此,要使用现有的 Android USB 主机 API 访问 USB 海量存储设备,您必须在应用程序代码中实现必要的原始 USB 操作以实现块级设备访问,并实现适当的文件系统逻辑本身。不用说,此类细节的复杂性超出了此处答案的范围,但您可以从研究其他平台的 USB 大容量存储驱动程序和文件系统驱动程序的文档或现有实现开始。


Android 6 中的情况似乎可能有所不同,甚至可能不再允许通过 USB 主机 api 访问该版本识别为存储设备的设备。那些针对 Android 6+ 的用户可能需要寻找其他地方,但较旧的设备将继续使用一段时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android USB 主机 API 和 USB 存储 的相关文章

随机推荐

  • 清单的 Robolectric @Config 路径值

    我正在尝试运行 robolectric 单元测试 但收到错误 因为在路径上找不到 AndroidManifest xml 任何人都可以给我一个 Config 清单值的示例路径 是相对路径还是绝对路径 提前致谢 如果您使用 Maven 来运行
  • Java - 复制 JPG 同时保留所有文件属性

    在保持文件所有属性 创建日期 日期等 的同时移动 复制文件的最佳方法是什么 谢谢 如果您使用的是 Java 7 请使用java nio file Files copy Path source Path target CopyOption o
  • jsp页面多语言支持

    在JSP页面中使用上述指令时 无法在JSP页面中显示俄语和匈牙利语字符 有没有办法在同一个JSP页面中支持俄语和匈牙利语字符 如果我使用charset UTF8 好吧 或者还有其他办法吗 ISO 8859 1 字符集支持only列出的字符h
  • 检测 Windows 字体大小(100%、125% 和 150%)

    我创建了一个应用程序 该应用程序在用户选择 125 或 150 之前都可以完美运行 这会破坏我的申请 后来我找到了通过检测DPI来找到字体大小的方法 在使用中文版 Windows 7 的用户开始使用我的应用程序之前 这种方法一直运行良好 整
  • python在函数中存储变量并稍后使用它[重复]

    这个问题在这里已经有答案了 是否可以将 while 循环中的变量存储到函数中 然后在循环结束时从函数中调用同一变量 例如 在 while 循环期间 这里的问题是 当我尝试从 store 检索变量时 它失败了 因为它需要传递参数 def st
  • 如何取消长时间运行的数据库操作?

    目前正在与 Oracle 合作 但还需要 MS SQL 的解决方案 我有一个 GUI 允许用户生成将在数据库上执行的 SQL 这可能需要很长时间 具体取决于它们生成的搜索 我希望 GUI 应用程序在此搜索期间做出响应 并且希望用户能够取消搜
  • 如何在 C# 表达式树中设置字段值?

    Given FieldInfo field
  • Marshmallow 中的存储权限错误

    在 Lollipop 中 下载功能在我的应用程序中运行良好 但当我升级到 Marshmallow 时 当我尝试从互联网下载到 SD 卡时 我的应用程序崩溃并给出此错误 Neither user nor current process has
  • Amazon Cognito:从浏览器重定向到 Android 应用程序时如何停止出现“redirect_mismatch”错误

    我正在尝试创建一个 Android 项目 通过让用户在浏览器中登录 Amazon Cognito 来授权用户 然后应该重定向回我的应用程序 不幸的是 当浏览器打开时 我没有到达正确的登录页面 而是不断收到此错误 在我的 Authentica
  • 如何使用 Kobo API 将数据发布到 kobotoolbox 表单?

    我正在使用 kobo REST API 我可以从表单中获取结构信息并通过 API 提交数据 但是当我尝试通过 POST 服务将数据发送到表单时 kobo 返回以下消息 您的例如 数据尚未提交 有没有办法使用其 API 将 POST 数据发送
  • JavaScript - 跨站脚本 - 权限被拒绝

    我有一个 Web 应用程序 我正在尝试使用 Twitter 的 OAuth 功能 该应用程序有一个链接 提示用户输入 Twitter 凭据 当用户单击此链接时 将通过 JavaScript 打开一个新窗口 该窗口用作对话框 这是这样完成的
  • Pandoc Markdown 粗体和颜色

    我正在使用 pandoc 并用 markdown 编写我的文本 为了创建我自己的风格 我使用自定义乳胶模板 我想用一种颜色来设置所有粗体单词的样式 所以当我输入时 a word 这个词不仅应该是粗体 而且还应该是例如蓝色的 在我的乳胶模板文
  • 简单显示SQlite数据库中的数据

    我试图找到一个在布局中显示 SQLite 数据库中的数据的简单示例 我尝试查看 笔记本 示例 但它只有一个输出列 是否有一个示例 其中包含多个输出列 并且如果可能的话 某些列中包含整数数据 闪电战 您可能需要考虑创建自己的客户Adapter
  • PySpark:将 DataFrame 列的值与另一个 DataFrame 列进行匹配

    在 Pandas DataFrame 中 我可以使用DataFrame isin 函数将列值与另一列进行匹配 例如 假设我们有一个 DataFrame df A pd DataFrame col1 A B C B C D col2 1 2
  • 为什么在这种情况下接口合并不起作用?

    我正在 Visual Studio Code 中编写一些 WebGL 代码 类型声明来自 npm 包 types webgl2 而 typescript 似乎没有合并以下接口 interface WebGL2RenderingContext
  • Angular 2 模板引用变量与 *ngFor [重复]

    这个问题在这里已经有答案了 我有两个组成部分 列表和详细信息 In 列表组件我想渲染多个细节组件 列表组件 ts Component selector detail templateUrl detail component html exp
  • 如何在 XAMPP 上使用 Codeigniter 删除 index.php?

    我无法在 XAMPP 1 7 3 上隐藏 Codeigniter index php URL http localhost Servidor agentesRainbow index php agentes tony tony是一个论点 将
  • 编辑输入 type="search" 伪元素按钮 ('x')

    我正在尝试制作一个看起来不错的搜索栏 我所做的是 我制作了一个搜索栏的图像 并将该图像添加到输入的背景中 然后编辑字体将出现的位置和大小 我唯一找不到编辑的方法是使用输入类型搜索时出现的小 x 按钮 我想将其向左移动一点 这样它就能修复我的
  • 如何在Android中实现拖动幻灯片视图

    我需要能够将列表视图拖动到左侧并移出视图 同时暴露第一个列表视图下方的另一个列表视图 我该怎么做呢 您可以使用 OnTouchListener 并在 ACTION MOVE 上调整大小或移动某些视图 请记住调用 setClickable t
  • Android USB 主机 API 和 USB 存储

    我正在尝试使用 android 主机 api 进行 USB 存储 我对此有很多疑问 使用主机 API 一切皆有可能 我想查看 USB 的内容 如果可能的话 查看正常的文件操作 我没有找到任何与此相关的文档帮助 我可以使用 UsbDevice