2017-06-29 154 views
1

我想拍一張照片並將其保存在外部存儲器中,但文件夾創建失敗。 權限已設置。Android:創建文件夾不起作用

File folder = new File(Environment.getExternalStorageDirectory() + 
File.separator + "DCIM" + File.separator + "ScannerApp"); 
       if(!folder.exists()){ 
        folder.mkdirs(); 
       } 

請幫助:)

+0

「的文件夾創建失敗」 - 如何** **正是你確定嗎? – CommonsWare

+0

你得到了什麼錯誤或異常?請把它寫在你的問題 –

+0

好的,我的問題被問得很差。我想創建文件夾來保存圖片。如果我運行該代碼文件夾只是不會在手機上創建,但我沒有得到任何例外或什麼。只是不是文件夾 – Mahony1988

回答

-1

替換此

File folder = new File(Environment.getExternalStorageDirectory() + 
File.separator + "DCIM" + File.separator + "ScannerApp"); 
       if(!folder.exists()){ 
        folder.mkdirs(); 
       } 

File folder = new File(Environment.getExternalStorageDirectory().getPath() + 
        File.separator + "DCIM" + File.separator + "ScannerApp"); 
      if(!folder.exists()){ 
       folder.mkdirs(); 
      } 

的問題是,你正在使用Environment.getExternalStorageDirectory()這將不會返回路徑。使用Environment.getExternalStorageDirectory().getPath()獲取路徑。

希望這會有所幫助。

+0

這不起作用,我得到一個錯誤:**/storage/emulated/0/DCIM/com.my.application /(沒有這樣的文件或目錄)** –

+0

@Ganapolsky您最後添加了一個/ 。另外請檢查您的設備是否讓您在DCIM目錄中創建文件夾,並且您已獲得外部存儲許可。 – Rahulrr2602

+0

我有Google Pixel XL,所以它不會讓我 –

0

使用下面這段代碼初始化folder值:

File folder = new File(Environment.getExternalStorageDirectory(), "DCIM" + File.separator + "ScannerApp"); 

File folder = new File(new File(Environment.getExternalStorageDirectory(), "DCIM"), "ScannerApp");