2013-05-25 3 views
7

Я использую Download Manager и когда я используюAndroid Download Manager setDestinationInExternalFilesDir

setDestinationInExternalFilesDir(this, Environment.DIRECTORY_DOWNLOADS, "example.ext"); 

файлы загружаются на Android/данные/com.example.app/файлы/папки загрузки.

Когда я пытаюсь

setDestinationInExternalPublicDir("/folder", "example.ext"); 

я получаю: IllegalStateException: Cannot create directory mnt/sdcard/folder. Я также установил разрешение WRITE_EXTERNAL_STORAGE.

Что я делаю неправильно?

ответ

0

Почему бы вам не использовать absolute путь для ExternalFileDir

File sdCard = Environment.getExternalStorageDirectory(); 
String folder = sdCard.getAbsolutePath() + "/YourFolder" ; 
File dir = new File(folder); 
if (!dir.exists()) { 
if (dir.mkdirs()) { 
    Log.i(Tag,"Directory Created"); 
    } 
} 

Я предполагаю, что это может даже работать для вас.

+0

Я попробовал следующее. downloadRequest.setDestinationInExternalFilesDir (v.getContext(), папка, down.getTitle() + ". Epub")); Но файл загружается в файл: ///mnt/sdcard/Android/data/com.example.app/files/*folder-path* –

+0

Я временно исправил его, перемещая файл после загрузки с Android/data/com.example.app/файлы в каталог, который мне нужен. –

0

использование request.setDestinationInExternalPublicDir("/folder", "FileName.extention");

это работало для меня ..

Смежные вопросы