簡體   English   中英

Android如何在SD卡上創建文件夾?

[英]Android how to create a folder on sd-card?

在我的StartActivity上,我想在SD卡上為該應用程序創建一個文件夾。 現在首先我像這樣在manifest.xml中設置權限

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

比我像這樣在StartActivity的onCreate方法上編寫一些代碼

//Creat an AppFolder
    String appPathString = Environment.getExternalStorageDirectory().getPath() + "/MyIdea";
    try {
        File appPath = new File(appPathString);
        if (!appPath.exists()) {
            appPath.mkdirs();
            Toast.makeText(getApplicationContext(), "Folder created", Toast.LENGTH_LONG).show();
        }
    } catch (Exception e) {
        Log.e("saveToExternalStorage()", e.getMessage());
    }

現在,我在Nexus 5上運行了該應用程序,該應用程序啟動並顯示了吐司。 但是,如果我繼續使用自己的設備,則找不到該名稱所創建的任何文件夾。 怎么了 ?

試試這個代碼。 這個對我有用 。 您需要指向存儲的AbsolutePath

String state;
state = Environment.getExternalStorageState();
if ((Environment.MEDIA_MOUNTED).equals(state)) {
                File root = Environment.getExternalStorageDirectory();
                File Dir = new File(root.getAbsolutePath() + "/My Ideas");
                if (!Dir.exists()) {
                    Dir.mkdir();

                }

我只是想知道,(我知道,我們什么都不寫),但是請嘗試調用appPath.flush();。 和appPath.close();

當我添加WRITE權限時,我還要添加READ,以確保!

    <uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

經過短暫搜索,我發現我需要android sdk 23的特殊使用權限。因此,我更改了android

<uses-permission-sdk-23 android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="23" />現在可以正常使用了。 謝謝大家的支持!

暫無
暫無

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

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