程序运行的时候需要把一些内容从服务器下载到本地,为了减少用户的等待时间,我想让程序实现一个定时下载功能,比如在早上5点钟,用户不用手机的时候启动一个下载的线程,让文件提前下好。应该怎么实现呢?就是就算程序已经退出的情况下仍可以启动下载的线程。定时启动一个service可以吗?怎么定时启动?

解决方案 »

  1.   

    1. 使用AlarmManager 注册一个定时器事件, 出发时发一个broadcast intent
    2. 创建一个 BroadcastReceiver,  在其中处理该定时事件, 启动下载任务。至于 AlarmManager, BroadcastReceiver 怎么用, 我想你应该会了, 或者查开发指南。
      

  2.   

    启动下载任务不需要用到service吗?
      

  3.   


    那就是你自已需要实现的东西了。你可以在 receive 里启动一个下载的服务
      

  4.   

    可以了,最后我想问一下,那我的那个文件下载完成以后需要把那个service关闭吗?是不是需要关闭?如果开着会浪费资源吗?