用java访问mtp设备

Posted

技术标签:

【中文标题】用java访问mtp设备【英文标题】:access mtp device with java 【发布时间】:2017-01-05 17:40:29 【问题描述】:

我开发了一个小应用程序,可以将文件从一个文件夹复制到另一个。我使用JFileChooser来选择目标目录。我很久没有尝试过的事情是选择我的手机作为目标目录。我试过了但我无法从我的 JFileChooser 中找到它。我读了一些其他的问题,我想知道是否可以将文件从我的电脑复制到 mtp 设备? 我的目标是 linux 和 windows 平台。

我的手机是 LG Nexus 5 安卓 6.0.1。 谢谢你的时间。 如果您想投票,我想知道原因

【问题讨论】:

通常你可以选择你的安卓手机如何通过usb连接。您应该使用“USB Mass storage”模式而不是 mtp,然后您应该“看到”您的手机。 因为我认为蜂窝这个选项不可用 如果您的问题有答案,它很可能是特定于操作系统的。因此,您应该提及您的目标操作系统。顺便说一句:你不应该要求图书馆(图书馆的问题通常是关闭的),最好是“有办法/如何......”。 【参考方案1】:

在现代 android 版本中,USB 大容量存储已被禁用。您可以尝试启用 USB 调试(在开发人员选项中),看看是否有帮助。我已经使用 LG G3 Android 5.0 在 Windows 10 上成功尝试过

【讨论】:

我开发的程序是为不知道怎么做的普通用户准备的。我也在windows 8下试过了,它不会工作 有一个名为JMTP 的库,用于从Java 访问MTP 设备。从来没有使用过,我不能说它是否能解决你的问题,但它可能值得一试。

以上是关于用java访问mtp设备的主要内容,如果未能解决你的问题,请参考以下文章

无法访问 Android (MTP) 中公用文件夹中存储的文件

通过 WPD 访问 MTP 供应商扩展属性

怎么恢复在mtp设备中被 误删了的文件?

从 PowerShell 使用 System.IO 访问 MTP 存储

如何管理 MTP 便携式设备上的文件?

任何用于检测 MTP 设备的 Windows API?