- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
由应用程序触发的重命名文件等更改仅在 Android 设备重启后出现在 USB-MTP 接口(interface)上或在您像这样在 MediaScanner 上注册新文件后(参见 Trigger mediascanner on specific path (folder), how to?) :
file.renameTo(newFile);
MediaScannerConnection.scanFile(context,
new String[] { newFile.getAbsolutePath() }, null, null);
USB-MTP 用于通过 USB 访问安卓设备的存储。例如。使用 Windows 资源管理器。
但是对于 Android 5.0.2(Build 10.6.A.0.454)下的 Sony XPERIA Tablet Z (SGP321),newFile
中提供的文件夹将变成一个文件4KB。我无法再使用 Windows 资源管理器访问文件夹结构,也无法将文件复制到我的计算机。即使在平板电脑重启后!使用 Android 4.4.4 的同一设备不显示该行为。似乎只有 USB-MTP View 损坏了。 Android 应用程序访问的文件结构看起来仍然很好。
问题:此行为是错误还是我实现不当?什么是正确的实现?
到目前为止,我已尝试解决此问题:
scanFile
。 MediaScannerConnection#scanFile
的 Android 应用重命名文件,将文件转换回目录。重新启动后,我可以再次使用 Windows 资源管理器访问该目录。https://stackoverflow.com/a/21918085/433718 中建议的这一行不刷新 USB-MTP View ,也不转换目录进入文件:
context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
Uri.fromFile(newFile.getParentFile()));
可能相关:
最佳答案
我最终在每个我想使其可见的目录中创建了一个虚拟文本文件,并对文件使用了 scanFile。
1) 创建目录,但不“扫描”目录
2) 复制文件到目录
3) 在文件路径上运行 scanFile
MediaScannerConnection.scanFile (_application, new String[] { filePath }, null, null);
关于android - 在 Android 5 Lollipop 上使用 USB-MTP 访问目录时,MediaScannerConnection#scanFile 将目录转换为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31157882/
我正在尝试将 SD 卡上数据目录中的文件添加到媒体存储内容提供程序。然而,我担心我手上可能有一个java教育问题。 MediaScannerConnectionClient 据称是 MediaScan
我设置为拍照,保存,然后上传图片。我的问题是 MediaScannerConnection 在尝试上传图片之前没有完成。我需要一些不同类型的返回声明吗?我怎样才能让它等待? 编辑以包含完整代码。 pu
我正在尝试使用命令 File.delete() 从内部存储器 (ASUS TF101) 中删除一些文件或目录。但是,使用 Android 文件资源管理器我可以看到文件是如何被删除的,但是使用 Wind
当我运行以下代码行时: MediaScannerConnection scanner = new MediaScannerConnection( this, null ); scanner.c
我应该使用 MediaScannerConnection.scanFile 方法以外的方法来刷新图库吗? 保存新的 jpg 后,我运行媒体扫描器来刷新图库应用程序,就像这样 Media
我正在将图像添加到 SDCARD 上的文件夹中。由于图像和我的文件夹在图库中不会立即可见试图让 MediaScannerConnection 更新并显示图库中的文件夹/图像。这对我来说不是很好,因为画
我正在尝试将文件保存为 Canvas 的 PNG,用户可以在其中绘制一些东西,然后调用 Intent.ACTION_SEND以便用户可以与其他应用程序共享它的绘图。 该代码能够毫无问题地保存文件,但是
我有一些图片存储在外部 SD 卡中,我想在 GridView 中显示它们的缩略图。我知道媒体扫描仪已经创建了缩略图,因为我可以使用标准图库应用程序浏览我的图片文件夹,但我不知道这些缩略图位于何处,所以
我正在开发一个应用程序,在该应用程序中我将图像保存到一个目录,但在我重新启动手机之前图像不会显示在图库中。 这是我的代码 fragment public class SaveTask extends
当我尝试将图像保存到外部目录时,MediaScannerConnection 成功扫描了该目录,但图像未显示在图库中。 public void saveItem() { if (sel
我想从 MediaStore 收集一些信息。有时 .nomedia 文件会导致文件未被扫描,因此我使用显式调用来确保文件已被扫描! 所以我打电话 MediaScannerConnection.scan
我正在从 Fragment 中异步下载文件,并希望在下载完成时调用 MediaScannerConnection.scanFile()。如果我坐下来等待下载完成而不离开我的 Fragment(或其托管
我正在使用 API Demos 中的 MediaScannerConnection 示例代码 我使用的 fragment 是: MediaScannerConnection.scanFile(
我的 android 应用程序将一堆 csv 文件和 jpg 文件写入设备的内部存储器。我正在使用 MediaScannerConnection.scanFile() 使文件可以从我的 windows
createNewFile() 方法返回 true 并显示文件在我手机上的位置。该文件显示在我手机的文件管理器中,但未显示在资源管理器中。 基本上我在 File 对象上调用 createNewFile
由应用程序触发的重命名文件等更改仅在 Android 设备重启后出现在 USB-MTP 接口(interface)上或在您像这样在 MediaScanner 上注册新文件后(参见 Trigger me
我是一名优秀的程序员,十分优秀!