'get/setDestination' 目录的不同值
Different value for 'get/setDestination' Directory
在模拟器中测试
起初我以这种形式创建一个目录:
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");
那个return这个路径:/storage/emulated/0/storage/emulated/0/SubFolderName/
先试试看:
request.setDestinationInExternalFilesDir(getActivity(), root.getAbsolutePath() + "/" + "SubFolderName","FileName");
此部分重复:storage/emulated/0
我检查了我的代码,但没有错误。
您正在使用 setDestinationInExternalPublicDir(),据我所知here它已经添加了外部根目录,因此您只需指定目录类型、子路径和文件名。
示例:
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOCUMENTS,"SubFolderName/FileName");
希望我没有看错。
您没有指定外部存储中的哪个目录。
根据存储的内容,您可以使用多个目录,例如 "Downloads"、"Video"
您可以像这样使用下载目录,例如:
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());
在模拟器中测试
起初我以这种形式创建一个目录:
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");
那个return这个路径:/storage/emulated/0/storage/emulated/0/SubFolderName/
先试试看:
request.setDestinationInExternalFilesDir(getActivity(), root.getAbsolutePath() + "/" + "SubFolderName","FileName");
此部分重复:storage/emulated/0
我检查了我的代码,但没有错误。
您正在使用 setDestinationInExternalPublicDir(),据我所知here它已经添加了外部根目录,因此您只需指定目录类型、子路径和文件名。
示例:
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOCUMENTS,"SubFolderName/FileName");
希望我没有看错。
您没有指定外部存储中的哪个目录。
根据存储的内容,您可以使用多个目录,例如 "Downloads"、"Video"
您可以像这样使用下载目录,例如:
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());