解决不可见的 MTP 文件问题

如果使用 MTP 协议创建通过 USB 电缆导出到桌面的文件,则可能是在连接的台式 PC 上运行的文件浏览器中无法立即看到新创建的文件的问题。要使新文件可见,你需要调用 MediaScannerConnection

File file = new File(Environment.getExternalStoragePublicDirectory(
        Environment.DIRECTORY_DOCUMENTS), "theDocument.txt");
FileOutputStream out = new FileOutputStream(file)

... (write the document)

out.close()
MediaScannerConnection.scanFile(this, new String[] {file.getPath()}, null, null);
    context.sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,
            Uri.fromFile(file)));

此 MediaScannerConnection 调用代码仅适用于文件,不适用于目录。此 Android 错误报告中描述了问题。对于某些版本以及某些设备,这可能会得到修复。