Ist es möglich, den Android device Internal Download Folder path?
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 ..
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 ...