Android L 讓使用者可以選定一個資料夾,存取裡面的所有檔案都不需要再經過使用者的同意。
要選定這個資料夾,要先建立並送出一個 android.intent.action.OPEN_DOCUMENT_TREE 的 Intent,系統會顯示所有可以用來選擇資料夾的應用程式 (DocumentsProvider) 以供使用者選擇,選完會回傳一個用來存取這個資料夾的 URI,接著就可以使用 DocumentsContract.buildChildDocumentsUriUsingTree() 和 DocumentsContract.buildDocumentUriUsingTree() 加上 ContentResolver.query() 來存取內部的任何檔案。要在選定的資料夾下,
開發者若要自行實作一個支援資料夾選定的 DocumentsProvider,同時要實作 DocumentsProvider.isChildDocument() 和在 Root.COLUMN_FLAGS 內置入 Documents.Contract.FLAG_SUPPORTS_IS_CHILD。
Android L 新增了專放 Media 類型檔案的資料夾,程式中可以透過 android.content.Context.getExternalMediaDirs() 來存取,類似 Context.getExternalFilesDir(),存取資料夾內的檔案不需要額外的權限。系統會定時掃描這些資料夾,確定有無新檔案,但若需要,開發者仍然可以透過 MediaScannerConnection 手動啟動掃描。