2015-09-28 1 views
0

Испытано в эмулятореразличное значение для директории 'получить/setDestination'

Сначала я сделать каталог в таком виде:

  File root = android.os.Environment.getExternalStorageDirectory(); 
      File dir = new File(root.getAbsolutePath() + "/" + "SubFolderName"); 
      if (!dir.exists()) { 
       dir.mkdirs(); 

Это сделать каталог на этом пути: /storage/emulated/0/SubFolderName

Теперь мне нужно использовать этот путь для загруженного файла, поэтому добавьте этот код:

DownloadManager.Request request = new DownloadManager.Request(uri); 
request.setDestinationInExternalPublicDir(root.getAbsolutePath() + "/" + "SubFolderName","FileName"); 

что вернуть этот путь: /storage/emulated/0/storage/emulated/0/SubFolderName/

Too попробовать перед этим:

request.setDestinationInExternalFilesDir(getActivity(), root.getAbsolutePath() + "/" + "SubFolderName","FileName"); 

В этом разделе повторяются: storage/emulated/0

проверить свои коды, но там-не перепутать.

ответ

0

Вы не указали, какой каталог находится во внешнем хранилище.

Есть несколько каталогов, которые можно использовать в зависимости от того, что вы храните например, «Загрузки», «Видео»

Вы можете использовать каталог загрузок, как это, например:

Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).mkdirs(); 

Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_DOWNLOADS + "/" + "SubFolderName/" + mTedListModel.get(position).getTitle()).mkdirs(); 

, а затем установить пункт назначения с менеджером запроса в

.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, + "SubFolderName/" + mTedListModel.get(position).getTitle()); 
+0

я использую в этой форме, и был прав: request.setDestinationInExternalPublicDir («SubFolderName», «FileName»); - без 'Environment.DIRECTORY _....' – Saeid

0

Вы используете setDestinationInExternalPublicDir(), так как я могу читать here, он уже добавляет внешний корневой каталог, поэтому вам нужно только указать тип каталога, подпуть и имя файла.

Пример:

request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOCUMENTS,"SubFolderName/FileName"); 

Надежда им не так.