Android 获取正在进行的下载任务的回调引用

Android 获取正在进行的下载任务的回调引用,android,download,Android,Download,我有一个下载管理器,在这里我传递文件url和回调,回调包含onStart()、progress(Integer..)等方法 现在,当我单击要下载的文件时,我将启动一个新的活动,其中Manager将在后台启动下载,并相应地调用回调方法。如果我关闭此活动并再次单击同一文件,则文件下载会在上一个文件正在下载时再次开始 我想通过获取任何参考资料或其他信息来显示以前的文件,而不是新下载的文件我最终自己解决了这个问题,并回答了自己的问题。 就这样 因此,我所做的是通过使用ThreadPoolExecutor

我有一个下载管理器,在这里我传递文件url和回调,回调包含onStart()、progress(Integer..)等方法

现在,当我单击要下载的文件时,我将启动一个新的活动,其中Manager将在后台启动下载,并相应地调用回调方法。如果我关闭此活动并再次单击同一文件,则文件下载会在上一个文件正在下载时再次开始


我想通过获取任何参考资料或其他信息来显示以前的文件,而不是新下载的文件

我最终自己解决了这个问题,并回答了自己的问题。 就这样

因此,我所做的是通过使用ThreadPoolExecutor扩展MyThreadPoolExecutor类的beforeExecute()afterExecute()方法来覆盖它

现在,我在beforeExecute中将可运行任务保存在HashMap中,然后在AfterExecute中将其删除。因此,当我再次打开下载活动时,我通过检查MyThreadPoolExecutor中保存的HashMap中的任务来检查任务是否已经在执行。因此,如果任务已经在执行,我只是通过setter更新了回调引用。因此,现在调用新的回调方法

注意:在下载活动中,我创建了一个扩展可运行界面的任务,该任务具有某种标记,我可以通过该标记识别其是否已运行