首頁 > Java > java教程 > 為什麼我的 Android 應用程式的檔案沒有顯示在 Windows 檔案總管中?

為什麼我的 Android 應用程式的檔案沒有顯示在 Windows 檔案總管中?

Mary-Kate Olsen
發布: 2024-12-19 21:59:09
原創
276 人瀏覽過

Why Aren't My Android App's Files Showing Up in Windows File Explorer?

從Windows 存取外部儲存上的檔案

Android 提供了一種統一的方式來存取外部儲存上的檔案,使它們在應用程式和應用程式中都可見系統檔案瀏覽器。但是,如果您的應用程式的檔案在將其寫入外部儲存空間後未出現在 Windows 中,則可能表示您的實作有問題。

目前實作

您已實作檔案寫入Environment.DIRECTORY_DOCUMENTS目錄,該目錄通常在Windows中可見。然而,問題在於 MediaStore 的索引。

MediaStore 索引

MediaStore 負責將外部儲存上的檔案索引,並將其呈現在系統檔案總管和圖庫應用程式中。如果新建立的檔案尚未被 MediaStore 發現,則該檔案將不可見。

建議的解決方案

要使應用程式的檔案在 Windows 中可見,您需要使用 MediaScannerConnection 及其 scanFile() 方法向 MediaStore 通知它們。此函數指示 MediaStore 索引指定檔案並相應更新其記錄。

程式碼片段

在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)
}
登入後複製

將資料寫入磁碟後會呼叫scanFile(),您將觸發MediaStore 為您的檔案建立索引並使其在Windows和裝置上的檔案總管中可見。

以上是為什麼我的 Android 應用程式的檔案沒有顯示在 Windows 檔案總管中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板