簡體   English   中英

Android無法在外部存儲上創建新目錄

[英]Android unable to create new directory on external storage

由於某種原因無法在Android外部存儲中創建新目錄,我假設有一些東西我缺少但不能在下面發現它是我用來嘗試創建目錄的代碼,任何幫助都會有很長的路要走

Calendar calendarTime = Calendar.getInstance();

        String newFolder = "/NewFolder/videos";

        File newDirectory = new File(Environment
                .getExternalStorageDirectory().toString() + newFolder);

        newDirectory.mkdir();

        File file = new File(newDirectory,
                String.valueOf(calendarTime.getTimeInMillis()) + ".mp4");

        if (camcorderProfile.fileFormat == MediaRecorder.OutputFormat.THREE_GPP) {

            recorder.setOutputFile(file.getAbsolutePath());
        } else if (camcorderProfile.fileFormat == MediaRecorder.OutputFormat.MPEG_4) {

            recorder.setOutputFile(file.getAbsolutePath());
        } else {

            recorder.setOutputFile(file.getAbsolutePath());

        }

在我的清單中

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" 

File.mkdir()只會在父目錄存在的情況下創建目錄。 在這種情況下,您要創建的目錄是“視頻”,其父目錄是“NewFolder”。 如果“NewFolder”不存在,則不會創建“視頻”。 如果要一次創建兩個目錄,則應使用File.mkdirs()。

我被困2天沒有創建文件夾的問題。 代碼是完美的,嘗試了多個代碼選項但沒有工作。 最終我通過設備重新啟動 - Nexus 4並重新連接到我的Windows 7筆記本電腦進行調試。 我能夠在Windows 7資源管理器中看到所有文件和目錄。 看起來這只是問題Nexus 4(kitkat)沒有刷新文件夾結構,它也在Windows 7資源管理器中不可見,並且無法使用我的應用程序。 此外,在重啟Nexus 4后,調用mediaRecorder.start()“無法啟動”的錯誤也消失了,我的應用程序正在創建的所有文件和目錄都出現了。

不要忘記明確要求WRITE_EXTERNAL_STORAGE權限。 以下是如何操作: https//developer.android.com/training/permissions/requesting

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM