我的应用需要下载文件,我正在寻找DownloadManager,但是它有一些不适合我的情况的限制(认证,命名方案,验证),所以我做了我的自定义下载引擎。
是否可以手动添加一个文件下载与我的引擎(从而通过使用本地URL)在下载系统应用程序的列表?我的理解是,该列表是由系统内容提供程序填充的。是否有可能添加记录到它,没有下载管理器试图下载文件?
谢谢,)
手动添加文件需要使用DownloadManager类。我使用下面的代码来显示我在本地创建的下载应用程序中的文件。
DownloadManager downloadManager = (DownloadManager)mainActivity.getSystemService(mainActivity.DOWNLOAD_SERVICE);
downloadManager.addCompletedDownload(file.getName(), file.getName(), true, "application/json", file.getAbsolutePath(),file.length(),true);
这将使文件出现在6.0的下载应用程序中,即使文件是在本地创建的。
Kotlin等价于上述答案:
val downloadManager = this.getSystemService(Context.DOWNLOAD_SERVICE) as DownloadManager
downloadManager.addCompletedDownload(file.getName(), file.getName(), true, "application/json", file.getAbsolutePath(),file.length(),true)