Android 6.0 OTG U盘读写

时间:2020-12-09 17:56:00
问题描述:
        小米手机安卓6.0的操作系统,可以是同otg线来挂载一个u盘,我使用es文件管理器可以对挂载的U盘添加删除文件或者文件夹。那我想在自己的App里面实现u盘写文件的操作,探索了几天了,大部分都是UsbManager和StorageManager两个API,可以找到u盘,但是我找不到API函数来获取可以读写的路径。希望大家指导一下,谢谢!
在Es文件管理器中显示的u盘路径为usb://1005/usbstorage
我在app中只能或者到的路径为/mnt/media_rw/2EFD-9ACD这个路径

12 个解决方案

#1


赶紧来人看看

#2


楼主,您这个问题解决了吗,小弟也遇到同样问题,您解决了吗?

#3


楼主问题解决了吗, 小弟也遇到这个梗

#4


主要就是调用这些API:UsbManager->UsbDevice->UsbInterface->UsbEndpoint->UsbDeviceConnection

http://blog.csdn.net/elsa_rong/article/details/47005129
https://developer.android.com/reference/android/hardware/usb/package-summary.html

#5


http://www.cnblogs.com/lqminn/p/3467748.html
主设备模式下,你可以主动的和对方设备进行交互。涉及到的类包括:UsbManager,UsbDevice,UsbInterface,UsbEndpoint,UsbDeviceConnection,UsbRequest,UsbConstants.一般情况下你需要用到全部这些类(UsbRequest只在你需要进行异步通信的时候使用),你需要一个UsbManager对象去检索需要的UsbDevice对象,当你获得这个设备之后,就需要找到合适UsbInterface和它的UsbEndpoint进行交互,一旦获得了正确的endpoint,就可以打开一个UsbDeviceConnection与USB设备进行交互了。

#6


引用 5 楼 zhiyu_jiang 的回复:
http://www.cnblogs.com/lqminn/p/3467748.html
主设备模式下,你可以主动的和对方设备进行交互。涉及到的类包括:UsbManager,UsbDevice,UsbInterface,UsbEndpoint,UsbDeviceConnection,UsbRequest,UsbConstants.一般情况下你需要用到全部这些类(UsbRequest只在你需要进行异步通信的时候使用),你需要一个UsbManager对象去检索需要的UsbDevice对象,当你获得这个设备之后,就需要找到合适UsbInterface和它的UsbEndpoint进行交互,一旦获得了正确的endpoint,就可以打开一个UsbDeviceConnection与USB设备进行交互了。



那么我想问一下 ,怎么进行交互呢,  比如 ,我现在 往设备里面插入了一个U盘。然后 我也正常 获取了 读取写入节点,也打开了一个UsbDeviceConnection   ,现在,我需要读取我U盘里面 一个 debug.app 文件,怎么读取呢,你的回答在网络上有非常多类似的回答,希望你不是 copy 粘贴的

#7


该回复于2017-05-13 08:44:21被管理员删除

#8


楼主解决了吗?全志A33 Android6.0也碰到这个坑;  

#9


引用 2 楼 qq_28951841 的回复:
楼主,您这个问题解决了吗,小弟也遇到同样问题,您解决了吗?

SAF框架进行读写

#10


引用 8 楼 yunchang789 的回复:
楼主解决了吗?全志A33 Android6.0也碰到这个坑;  

SAF框架进行读写

#11


我也遇到跟楼主同样的问题,你有没SAF使用的案例供参考下?

#12


请问楼主的问题解决了嘛? 能否借我参考下Demo或是代码?  谢谢

#1


赶紧来人看看

#2


楼主,您这个问题解决了吗,小弟也遇到同样问题,您解决了吗?

#3


楼主问题解决了吗, 小弟也遇到这个梗

#4


主要就是调用这些API:UsbManager->UsbDevice->UsbInterface->UsbEndpoint->UsbDeviceConnection

http://blog.csdn.net/elsa_rong/article/details/47005129
https://developer.android.com/reference/android/hardware/usb/package-summary.html

#5


http://www.cnblogs.com/lqminn/p/3467748.html
主设备模式下,你可以主动的和对方设备进行交互。涉及到的类包括:UsbManager,UsbDevice,UsbInterface,UsbEndpoint,UsbDeviceConnection,UsbRequest,UsbConstants.一般情况下你需要用到全部这些类(UsbRequest只在你需要进行异步通信的时候使用),你需要一个UsbManager对象去检索需要的UsbDevice对象,当你获得这个设备之后,就需要找到合适UsbInterface和它的UsbEndpoint进行交互,一旦获得了正确的endpoint,就可以打开一个UsbDeviceConnection与USB设备进行交互了。

#6


引用 5 楼 zhiyu_jiang 的回复:
http://www.cnblogs.com/lqminn/p/3467748.html
主设备模式下,你可以主动的和对方设备进行交互。涉及到的类包括:UsbManager,UsbDevice,UsbInterface,UsbEndpoint,UsbDeviceConnection,UsbRequest,UsbConstants.一般情况下你需要用到全部这些类(UsbRequest只在你需要进行异步通信的时候使用),你需要一个UsbManager对象去检索需要的UsbDevice对象,当你获得这个设备之后,就需要找到合适UsbInterface和它的UsbEndpoint进行交互,一旦获得了正确的endpoint,就可以打开一个UsbDeviceConnection与USB设备进行交互了。



那么我想问一下 ,怎么进行交互呢,  比如 ,我现在 往设备里面插入了一个U盘。然后 我也正常 获取了 读取写入节点,也打开了一个UsbDeviceConnection   ,现在,我需要读取我U盘里面 一个 debug.app 文件,怎么读取呢,你的回答在网络上有非常多类似的回答,希望你不是 copy 粘贴的

#7


该回复于2017-05-13 08:44:21被管理员删除

#8


楼主解决了吗?全志A33 Android6.0也碰到这个坑;  

#9


引用 2 楼 qq_28951841 的回复:
楼主,您这个问题解决了吗,小弟也遇到同样问题,您解决了吗?

SAF框架进行读写

#10


引用 8 楼 yunchang789 的回复:
楼主解决了吗?全志A33 Android6.0也碰到这个坑;  

SAF框架进行读写

#11


我也遇到跟楼主同样的问题,你有没SAF使用的案例供参考下?

#12


请问楼主的问题解决了嘛? 能否借我参考下Demo或是代码?  谢谢