在 Android 上添加的文件夹通过 USB 不可见

2024-01-30

我正在尝试将图片保存在 Android 上的子文件夹中。这是我的一些代码:

File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
path = new File(path, "SubDirName");
path.mkdirs();

(我试过了getExternalStorageDirectory代替getExternalStoragePublicDirectory和图片文件夹而不是 DCIM。)

当设备通过 USB 连接时,我添加的任何子文件夹(包括其内容)都不会显示在 Windows 资源管理器中。不过,它确实显示在 Android 文件管理器中。

我尝试过广播ACTION_MEDIA_MOUNTED意图是新目录的父目录。它不起作用。

如果我在 Windows 中添加文件,它会显示在 Android 上。如果我通过文件管理器在 Android 上添加文件,它会显示在 Windows 中。如果我以编程方式添加文件,它会显示在 Android 文件管理器中,但不会显示在 Windows 资源管理器中。和我need从 Windows 获取它,并且我不希望最终用户必须手动创建该文件夹。

我究竟做错了什么?


我遇到了同样的问题,并且重新启动 Android 设备或 PC 对于用户来说都不是一个实用的解决方案。 :)

这个问题是通过使用MTP https://en.wikipedia.org/wiki/Media_Transfer_Protocol协议(我讨厌这个协议)。你必须 启动对可用文件的重新扫描,您可以使用MediaScannerConnection class:

// Snippet taken from question
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
path = new File(path, "SubDirName");
path.mkdirs();

// Initiate a media scan and put the new things into the path array to
// make the scanner aware of the location and the files you want to see
MediaScannerConnection.scanFile(this, new String[] {path.toString()}, null, null);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 上添加的文件夹通过 USB 不可见 的相关文章

随机推荐