如何从android中充当usb大容量存储器的设备获取文件路径

如何从android中充当usb大容量存储器的设备获取文件路径,android,usb,filepath,usb-otg,Android,Usb,Filepath,Usb Otg,我试图从一个充当usb大容量存储器的Garmin设备获取文件名(以及文件路径)。将设备连接到计算机时,文件路径为G:\Garmin。使用OTG和Explorer将其连接到android平板电脑(我已经检查了应用程序设置-包名为:com.android.rk),文件路径为USB/Garmin。使用ES文件资源管理器,我看到文件路径是mnt/usb_storage/Garmin。因此,在代码中,当我试图从文件路径usb_storage/Garmin解析system.xml时,我将文件路径如下所示:

我试图从一个充当usb大容量存储器的Garmin设备获取文件名(以及文件路径)。将设备连接到计算机时,文件路径为G:\Garmin。使用OTG和Explorer将其连接到android平板电脑(我已经检查了应用程序设置-包名为:com.android.rk),文件路径为USB/Garmin。使用ES文件资源管理器,我看到文件路径是mnt/usb_storage/Garmin。因此,在代码中,当我试图从文件路径usb_storage/Garmin解析system.xml时,我将文件路径如下所示:

String file = Environment.getExternalStorageDirectory() + "mnt/usb_storage/Garmin/system.xml";

当我运行应用程序时,它崩溃了,这意味着它找不到文件system.xml。在通过OTG连接的usb设备中查找文件时,使用Environment.getExternalStorageDirectory()是否正确?你能告诉我该怎么办吗?非常感谢。

通过使用
环境.getExternalStorageDirectory()
,您实际上是在指向您的sd卡或内部存储(取决于设置为当前存储),并且在该下查找设备装载点

但是Unix中的装载点是在根级别看到的。
因此,请直接尝试
/mnt/usb\u storage/Garmin/system.xml

String file = Environment.getExternalStorageDirectory() + "mnt/usb_storage/Garmin/system.xml";
你的意思是:

String fileName = "/mnt/usb_storage/Garmin/system.xml";

就这些。注tne/mnt/。。。所以不是mnt/…

人。。你太快了;-)。但你们两个非常棒。非常感谢你谢谢你,我会尽快接受你的建议,因为你是第一个通过评论说出来的人。再一次,谢谢^_^