繁体   English   中英

Android:从“下载”文件夹中删除下载的文件快捷方式

[英]Android: Remove Downloaded file shortcut from "Downloads" folder

在我的代码中,我曾经下载 apk,使用它然后将其删除。 但是删除它后,Apk 仅从内部存储(内部存储/android/data//files/download)中删除,但它仍然在我的文件/下载文件夹中。 如何以编程方式从我的文件/下载文件夹中删除此快捷方式/视图,或如何防止将其保存到此文件夹中?

下载代码:

final String destination = context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + FORWARD_SLASH + TMP_APK_NAME;
final Uri uri = Uri.parse("file://" + destination);

//set downloadmanager
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));

//set destination
request.setDestinationUri(uri);

// get download service and enqueue file
final DownloadManager manager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);

删除代码:

//Delete update file if exists
final File file = new File(destination);
if (file.exists()) {
    file.delete();
}

您也可以尝试这种方式 - 希望它会起作用。 由于DownloadManager可以下载此uri的文件,因此您可以使用该uri删除。

// Delete update file if exists
File file = new File(uri.getPath());
if (file.exists()) {
    file.delete();
}

根据文档enqueue 将返回一个 long 值,表示下载文件夹中此文件的 id。 将此值存储在变量中

long fileId = manager.enqueue(request);

然后使用此值将其从下载中删除

manager.remove(fileId);
final String destination = context.getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + FORWARD_SLASH + TMP_APK_NAME;
final Uri uri = Uri.parse("file://" + destination);

File file = new File(uri.getPath());
if (file.exists()) { // if your file exit 
  file.delete();
}

确保你有写外部存储权限

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM