这个工具类就是Android系统下载管理DownloadManager的一个增强类,提供了一些增强方法。或许大家不太了解这个安卓系统自带的DownloadManager这个类,我先做一个简单介绍吧。DownloadManager是系统开放给第三方应用使用的类,包含两个静态内部类DownloadManager.Query和DownloadManager.Request。
DownloadManager.Request用来请求一个下载,DownloadManager.Query用来查询下载信息。用downloadManager的enqueue接口进行下载,返回唯一的downloadId。注意这个id,我们会在DownloadManagerPro这个工具增强类中用到。正题来了,下面就介绍一下这个DownloadManagerPro。DownloadManagerPro这个增强类中有一下这些方法,我会对这些方法进行一个逐一的解释,希望大家不要嫌啰嗦。
1、int[] getBytesAndStatus(long downloadId)这个方法就是传入我们上面所说的那个enqueue接口返回的下载id,可以获取到这个下载文件已经下载了多大,总共多大,以及下载状态,返回信息是一个int数组,包含了这三个信息。
2、int[] getDownloadBytes(long downloadId)这个方法就是传入下载id,可以获取到已经下载了多大,总共这个下载文件有多大的信息,返回信息也是一个int数组。
3、int getErrorCode(long downloadId)这个方法是传入下载id,得到的返回信息就是这个文件下载失败的错误代码,error code。
4、String getFileName(long downloadId)这个方法就是传入下载id,返回下载文件的名字
5、int getPausedReason(long downloadId)这个方法是传入下载id,返回下载停止的原因
6、int getReason(long downloadId)这个方法就是传入下载id,返回下载失败或者停止的错误代码
7、int getStatusById(long downloadId)这个方法就是传入下载id,返回下载信息的状态码
8、String getUri(long downloadId)这个方法就是传入下载id,返回下载文件的uri
9、static boolean isExistPauseAndResumeMethod()这个方法就是判断在DownloadManager中是否存在停止下载的和重新下载的方法
10、int pauseDownload(long... ids)这个方法就是传入多参数的id,停止响应下载id的下载11、int resumeDownload(long... ids)这个方法就是传入多参数的下载id,继续或者恢复停止的下载