Download模块 (十七)
DownloadProxy是和DownloadService配对存在的,负责维护mainActivity和downloadService的通信交互。
<1>DownloadProxy不是一构造就立刻启动DownloadService,而是将启动Service放在一个init函数中,
出于防止反复初始化,增加一个flag标记,如果当前还没有bind DownloadService,那么如果这时候检测到DownloadService
还在运行,可以直接bind<通过ActivityManager的getRunningServices来获得运行的进程,然后做对比>。
如果没有在运行,而且还有没有完成的下载任务,在WIFI连接情况下,会弹出一个对话框来询问用户是否原因继续下载。
<2>因为需要调用到DownloadService的onStartCommand来传递一些信息,因此还需要运行一次startService,可以判断其返回值,
如果Service已经start了,那么会返回不为null的componentName,如果返回null,说明Service没起来,return。
然后再尝试bindService(
Context.BIND_ABOVE_CLIENT<indicates that the client application
binding to this service considers the service to be more important than
* the app itself, 没有在Service进行startForegrou
DownloadProxy是和DownloadService配对存在的,负责维护mainActivity和downloadService的通信交互。
<1>DownloadProxy不是一构造就立刻启动DownloadService,而是将启动Service放在一个init函数中,
出于防止反复初始化,增加一个flag标记,如果当前还没有bind DownloadService,那么如果这时候检测到DownloadService
还在运行,可以直接bind<通过ActivityManager的getRunningServices来获得运行的进程,然后做对比>。
如果没有在运行,而且还有没有完成的下载任务,在WIFI连接情况下,会弹出一个对话框来询问用户是否原因继续下载。
<2>因为需要调用到DownloadService的onStartCommand来传递一些信息,因此还需要运行一次startService,可以判断其返回值,
如果Service已经start了,那么会返回不为null的componentName,如果返回null,说明Service没起来,return。
然后再尝试bindService(
Context.BIND_ABOVE_CLIENT<indicates that the client application
binding to this service considers the service to be more important than
* the app itself, 没有在Service进行startForegrou