我正在与 firebase 合作开发应用程序。我已手动将 pdf 文件上传到 firebase 存储中,以便用户可以使用该应用程序下载它。下载的文件存储在Android -> data -> FileName -> directory -> file中。但是我需要一个自定义目录来将文件直接保存在内部存储中。
public void downloadFile(){
str = FirebaseStorage.getInstance().getReference();
final File mydir = this.getDir("mydir", Context.MODE_PRIVATE); //Creating an internal dir;
ref = str.child("AI (presentation).pptx");
ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
String url = uri.toString();
downloadFiles(MainActivity.this,"AI",".ppt",mydir ,url);
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}
public void downloadFiles(Context context, String fileName, String fileExtension, File destinationDirectory, String url) {
DownloadManager downloadmanager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
Uri uri = Uri.parse(url);
DownloadManager.Request request = new DownloadManager.Request(uri);
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
request.setDestinationInExternalFilesDir(context, "" + destinationDirectory, fileName + fileExtension);
downloadmanager.enqueue(request);
}