アプリでは、Android デバイスの接続時にコンピューターのファイル エクスプローラーからアクセスできる場所にファイルを保存する必要があります。ただし、Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS) を使用した現在の実装では、ファイルが Windows ファイル エクスプローラーに表示されなくなります。
ここでの問題は MediaStore にあります。作成したファイルは、最初は検出されません。 Windows ファイル エクスプローラーと多くのオンデバイス ギャラリー アプリは、MediaStore のインデックスに基づいてコンテンツを表示します。
これを解決するには、MediaScannerConnection クラスとその scanFile() メソッドを使用して、新しく作成したファイルについて MediaStore に通知する必要があります。その方法は次のとおりです:
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) }
MediaScannerConnection と scanFile() を使用すると、保存されたファイルについて MediaStore に通知できます。 Windows ファイル エクスプローラーや、MediaStore データに依存するその他のアプリで表示されます。
以上がAndroid ファイルを Windows ファイル エクスプローラーで表示できるようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。