[英]make external directory android
如果要在Android應用程序的外部存儲中創建目錄,請使用以下代碼:
File mDirectory = new File(Environment.getExternalStorageDirectory() + "/myDir");
if (!mDirectory.exists()) {
mDirectory.mkdirs();
if (!mDirectory.mkdirs()) {
Log.e("App", "failed to create directory");
}
}
但是沒有創建目錄,並且錯誤消息始終顯示在logcat
:
App: failed to create directory
我也同時使用mkdir()
和mkdirs()
,但是結果是相同的。 錯誤在哪里?
更新:
AndroidManifest.xml
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
您正在兩次調用mkdirs
。 第一次調用將創建目錄。 第二個調用返回false,因為該目錄已存在。
您在哪個Android版本上運行此應用程序? Android開發者網站上的這句話說
如果設備運行的是Android 6.0(API級別23)或更高版本 ,並且應用程序的targetSdkVersion為23或更高版本,則該應用程序會在運行時向用戶請求權限。 用戶可以隨時撤消權限,因此應用程序每次運行時都需要檢查其是否具有權限 。
如果設備運行的是Android 5.1(API級別22)或更低版本,或者應用程序的targetSdkVersion為22或更低版本,則系統會在用戶安裝應用程序時要求用戶授予權限。
現在有一個危險權限的概念。 用戶需要在運行時授予這些權限,而WRITE_EXTERNAL_STORAGE
是其中之一
Android Dev網站上的本教程將教您如何在運行時請求權限
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.