我有一个listView,然后点击每行我必须下载一个mp3文件。我在service()中的AsyncTask和DownloadManager(在API 9之上)中构建之间感到困惑。
但是,由于您自己处理了对onStartCommand()
的每次调用,因此您可以同时执行多个请求。这不是这个例子的作用,但如果那是你想要的,那么你可以为每个请求创建一个新线程并立即运行它们(而不是等待先前的请求完成)。 / p>
从文档的上一行我想在AsyncTask
方法中创建onStartCommand
的新实例,因此每个文件将作为单独的任务下载,但在搜索时遇到了DownloadManagerr。我在文档中发现了很少的相关信息。
我对DownloadManager有疑问。它是否像IntentService一样工作?有人请指导我使用什么(服务()或DownloadManager中的AsyncTask),请清除上述疑问。
答案 0 :(得分:0)
服务中的Asynk任务()
实现此代码要容易得多,因为您只需创建一个服务并通过调用
启动它startService(my_service);
但是作为开始服务,当内存不足时你可以通过android停止(你的任务会失败)它可以手动关机用户通过设置和第三个可以关闭,如果手机关机,你无法恢复启动后的任务
<强>下载管理强>
使用DownloadManager,您必须设置BrodcastReceiver ACTION_NOTIFICATION_CLICKED ,但您可以更好地控制下载,因为此API仅用于下载目的
优点: