getExternalFilesDir()
是 Android 中的一個方法,用于獲取應用的外部文件目錄。這個目錄用于存儲應用生成的文件,這些文件在外部存儲設備上,并且與用戶的數據分開。這對于保存用戶生成的內容(如圖片、音頻等)非常有用。
要使用 getExternalFilesDir()
,請按照以下步驟操作:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
對于 Android 6.0(API 級別 23)及更高版本,還需要在運行時請求這些權限。
getExternalFilesDir()
方法。這個方法需要一個參數,表示存儲類型。有以下幾種類型可供選擇:Environment.DIRECTORY_DOCUMENTS
:返回一個包含文檔的目錄。Environment.DIRECTORY_DOWNLOADS
:返回一個包含下載文件的目錄。Environment.DIRECTORY_PICTURES
:返回一個包含圖片的目錄。Environment.DIRECTORY_MUSIC
:返回一個包含音樂的目錄。Environment.DIRECTORY_RINGTONES
:返回一個包含鈴聲的目錄。null
:返回應用的根目錄下的外部文件目錄。例如,要獲取包含圖片的目錄,可以這樣做:
File externalFilesDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
File
對象,你可以創建、讀取、修改和刪除文件。例如,要在上述示例中創建一個新的空文件,可以這樣做:File imageFile = new File(externalFilesDir, "example_image.jpg");
try {
if (imageFile.createNewFile()) {
Log.d("ExternalFilesDir", "New file created: " + imageFile.getName());
} else {
Log.d("ExternalFilesDir", "File already exists.");
}
} catch (IOException e) {
e.printStackTrace();
}
注意:getExternalFilesDir()
返回的目錄僅對應用可見,其他應用無法訪問。如果你需要讓其他應用訪問這些文件,可以考慮使用外部存儲的公共目錄(如 Environment.getExternalStoragePublicDirectory()
)。但請注意,從 Android 10(API 級別 29)開始,對外部存儲公共目錄的訪問受到限制。