[英]Android Cannot create new folder
我無法以任何方式創建新文件夾,使用mkdirs時總是返回false。 我在android studio調試模式下使用Android 6.0.1。
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />`
String folder_main = "NewFolder";
Boolean success = false;
File f = new File(Environment.getExternalStorageDirectory(),folder_main
);
if (!f.exists()) {
Log.d("path","not exist");
success=f.mkdirs();
}
else
{
Log.d("path","exist");
}
Log.d("path",success.toString());
自此文檔以來,我沒有使用寫權限
從API級別19開始,讀/寫由getExternalFilesDir(String)和getExternalCacheDir()返回的應用程序特定目錄中的文件不需要此權限。
該文檔說,您只能在沒有寫許可權的情況下,才能在getExternalFilesDir(String)和getExternalCacheDir()返回的目錄中讀取/寫入文件。 但是您可以通過Environment.getExternalStorageDirectory()獲得目錄路徑。
Environment.getExternalStorageDirectory()的Javadoc說。
寫入此路徑需要WRITE_EXTERNAL_STORAGE權限,並且從KITKAT開始,讀取訪問需要READ_EXTERNAL_STORAGE權限,如果您擁有寫入權限,則會自動授予該權限。
從KITKAT開始,如果您的應用程序僅需要存儲內部數據,請考慮使用不需要讀取或寫入權限的getExternalFilesDir(String),getExternalCacheDir()或getExternalMediaDirs()。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.