webentwicklung-frage-antwort-db.com.de

Wie erhalte ich meinen Android device Internal Download Folder Pfad?

Ist es möglich, den Android device Internal Download Folder path?

16
Andrey

wenn ein Gerät über eine SD-Karte verfügt, verwenden Sie:

Environment.getExternalStorageState() 

wenn Sie keine SD-Karte haben, verwenden Sie:

Environment.getDataDirectory()

wenn keine SD-Karte vorhanden ist, können Sie lokal ein eigenes Verzeichnis auf dem Gerät erstellen.

    //if there is no SD card, create new directory objects to make directory on device
        if (Environment.getExternalStorageState() == null) {
                        //create new file directory object
            directory = new File(Environment.getDataDirectory()
                    + "/RobotiumTestLog/");
            photoDirectory = new File(Environment.getDataDirectory()
                    + "/Robotium-Screenshots/");
            /*
             * this checks to see if there are any previous test photo files
             * if there are any photos, they are deleted for the sake of
             * memory
             */
            if (photoDirectory.exists()) {
                File[] dirFiles = photoDirectory.listFiles();
                if (dirFiles.length != 0) {
                    for (int ii = 0; ii <= dirFiles.length; ii++) {
                        dirFiles[ii].delete();
                    }
                }
            }
            // if no directory exists, create new directory
            if (!directory.exists()) {
                directory.mkdir();
            }

            // if phone DOES have sd card
        } else if (Environment.getExternalStorageState() != null) {
            // search for directory on SD card
            directory = new File(Environment.getExternalStorageDirectory()
                    + "/RobotiumTestLog/");
            photoDirectory = new File(
                    Environment.getExternalStorageDirectory()
                            + "/Robotium-Screenshots/");
            if (photoDirectory.exists()) {
                File[] dirFiles = photoDirectory.listFiles();
                if (dirFiles.length > 0) {
                    for (int ii = 0; ii < dirFiles.length; ii++) {
                        dirFiles[ii].delete();
                    }
                    dirFiles = null;
                }
            }
            // if no directory exists, create new directory to store test
            // results
            if (!directory.exists()) {
                directory.mkdir();
            }
        }// end of SD card checking

fügen Sie Berechtigungen für Ihre manifest.xml hinzu

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

Fröhliches Codieren ..

32
Dinithe Pieris

Verwenden Sie getFilesDir (), um Speicherorte im internen Speicher für Ihre App zu finden, die in einem beliebigen Kontext (z. B. Ihrer Aktivität) aufgerufen wurden, um ein File-Objekt abzurufen.

warum können Sie Environment.getExternalStorageDirectory () nicht verwenden, um/storage/sdcard0/path aus dem Code abzurufen?

müssen auch Berechtigungen hinzufügen.

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

Ich hoffe, du bekommst deine Lösung ...

12
Nayan Rath