从 Windows 访问 Android 外部公共存储文件
将文件保存到 Android 中的外部存储时,确保它们在以下位置可见至关重要: Windows 文件资源管理器。提供的代码将文件写入设备上的特定目录;但是,如果不采取其他步骤,这些文件可能不会立即可见。
出现此问题的原因是 MediaStore 尚未对新创建的文件建立索引。许多文件浏览器应用程序和设备上的图库应用程序都依赖 MediaStore 来实现文件可见性。
要解决此问题,需要使用 MediaScannerConnection 及其 scanFile() 方法来通知 MediaStore 有关修改后的文件。通过调用 scanFile(),更新的文件信息将在 MediaStore 中建立索引,使其在 Windows 文件资源管理器和依赖它的其他应用程序中可用。
以下是 Java 中的示例实现:
public void scanFile(Context ctxt, File f, String mimeType) { MediaScannerConnection .scanFile(ctxt, new String[] {f.getAbsolutePath()}, new String[] {mimeType}, null); }
或者,在 Kotlin 中:
fun scanFile(ctxt: Context, f: File, mimeType: String) { MediaScannerConnection.scanFile(ctxt, arrayOf(f.getAbsolutePath()), arrayOf(mimeType), null) }
通过将此步骤合并到您的文件写入逻辑中,您可以确保保存的文件不仅在您的 Android 设备上可见,而且当您将其连接到 Windows 计算机时也可见。
以上是如何使 Android 文件在 Windows 文件资源管理器中可见?的详细内容。更多信息请关注PHP中文网其他相关文章!