我有一台基于 Android 的华为平板电脑,运行 Lollipop,并且想知道如何检测 USB 大容量存储 OTG 是否已热插拔,以及如何在设备连接后将文件从 OTG 复制到平板电脑内部存储。
经过一番搜索,我还没有找到可行的解决方案。例如,以下 StackOverflow 答案没有为我的案例提供可行的解决方案。只是想知道是否有人可以建议一个文档、项目或示例代码来解决问题,或者可以向我指出我需要使用的 API?
Transfer Files USB Mass Storage OTG
How app can access files on USB OTG storages in Android 6.0 (API level 23) without root?
最佳答案
要检测正在安装/卸载的 USB,您可以使用 UsbHost
您基本上有 2 个选项可以从 USB 设备读取/写入文件。
存储访问框架 - 这不适用于所有设备。这取决于设备制造商设置的权限。根据我的经验,它适用于大多数三星设备,但不适用于 HTC 或 Nexus。我不太清楚华为的情况。
UsbDeviceConnection - 这是相当低级的东西,但是有一个库可以用于很好的示例:https://github.com/magnusja/libaums
还有一个非常好的开源文件管理器,您应该看看:https://github.com/1hakr/AnExplorer
关于java - Android USB OTG : How to detect Mass Storage hot-plug event, 然后复制数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41565535/