问题标签 [android-download-manager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
25010 浏览

android - 在活动中显示下载管理器进度

我在我的活动中使用了下载管理器类来执行下载;它工作正常,我的下一个任务是在我的活动中显示相同的进度百分比。我不知道该怎么做。

到目前为止我的代码

有没有什么方法可以给出进度下载百分比?

0 投票
1 回答
1939 浏览

java - 将自动重试添加到 Android 下载管理器

感谢Navdeep,我建立了一个工作DownloadManager. 问题是我需要应用程序在一定延迟后重试下载失败的下载。

这篇文章类似,我成功添加了一个 if 子句来检查下载失败的时间:

问题是如何重新开始下载。我猜下载是在Queryor中的某个地方Cursor

编辑:

在摆弄之后,我试图将延迟处理程序放入这个 if 子句并像我一开始那样调用下载。不幸的是,我在访问COLUMN属性时遇到问题:

这导致NullPointerException...任何想法为什么?

0 投票
2 回答
1983 浏览

java - 下载失败时,DownloadManager 游标属性 COLUMN_LOCAL_FILENAME 为空

我正在为我构建一个后备,DownloadManager它将重新启动失败的下载。

我坚持使用vogella 的示例构建我的下载管理器功能。

“失败”案例正在工作,但我的localFilename变量是null.

顺便说一句:COLUMN_URI正在工作。

有什么想法可以访问目标/本地路径或文件名吗?

0 投票
2 回答
3755 浏览

java - Android - DownloadManager - 清除队列中的旧下载

我正在构建一个应用程序,如果所有下载都已完成,它需要知道并发原因。只有在我所有的下载完成后才允许启动某个功能。

我设法编写了一个函数来检查队列中的旧下载:

问题是——只是为了确定——在初始化时我想清理队列并删除所有条目。

有什么想法我现在可以删除条目吗?

这个功能对我不起作用,因为我不想物理删除文件......只是清空队列。

有任何想法吗?

0 投票
1 回答
122 浏览

android - 无法下载图片?

这是我从数据库中获取一些结果的代码,通过这个结果,我创建了一个包含图像的 url,当我尝试运行该downloadimages()函数时,我想为每个光标结果下载该图像,我的应用程序总是崩溃我不知道为什么......但是当我在没有它的情况下运行代码时,它运行完美。

下载图片方法

请告诉我我做错了什么???

现在我正在这样做,并且运行良好

0 投票
1 回答
1011 浏览

android - 尝试下载多个文件时,下载管理器类崩溃?

当我的应用程序通过此代码连接到互联网时,我正在尝试从网上下载图像

当我第一次运行应用程序下载时,应用程序在应用程序没有打开之后崩溃,我也在检查下载的文件:

如果文件之前已经下载过,下次不应该下载,但是我的应用程序崩溃了,我不知道为什么有任何帮助......这是我的 logcat 输出:-

0 投票
2 回答
2929 浏览

android - 在android中使用downloadmanager类下载多个文件?

我想使用android中的downloadmanager类下载多个文件我有100-200个图像文件但是当我尝试下载文件时应用程序崩溃但下载开始了?我该如何解决这个问题,我下载文件的代码是:

这是我的日志猫

0 投票
1 回答
589 浏览

android - Android 下载文件 - 尚未完成的 Stream 问题

我从服务器下载文件,有些大,有些小。

据我所知,我通过流下载文件并将数据流式传输到文件中。所以实际上文件是从第一个数据字节开始创建的。

现在,另一方面,我通过在目录中查找文件然后播放它们来播放内部目录中的文件:

现在这个问题是即使文件没有完全下载也会播放文件!

这是真的?如果是这样,在尝试播放之前我必须如何检查文件是否完整?

0 投票
1 回答
3201 浏览

java - 在点击事件上处理 DownloadManager 并从 BroadcastReceiver 启动系统下载应用程序

我有一个从 http 下载大文件的应用程序。为了处理这个问题,我使用了DownloadManager.

要下载的文件太大,我希望用户能够将应用程序置于后台并在下载运行时自由使用他的手机。

在我编写的代码中,下载开始并且工作正常,但我需要每当用户在通知栏中单击下载文件的名称时,它必须向他显示下载列表(系统应用程序下载 - DownloadManager.ACTION_VIEW_DOWNLOADS)。

我想要的是,当浏览器从 Web 下载文件时,我的应用程序将与默认浏览器的下载管理器完全相同。

你能帮我声明和编码BroadcastReceiver吗?正如我所说,我需要一个BroadcastReceiver始终运行的。

我试图这样做,但它不起作用:

在我的清单中有:

而我的 BroadcastReceiverDownloadManager.java 就是这个:

它有时不处理点击事件,并且只要它正确处理点击,应用程序就会以这种方式崩溃:

0 投票
3 回答
8751 浏览

android - BroadcastReceiver onReceive() 被调用两次

在我的应用程序中,我使用 DownloadManager 来下载 PDF,下载完成后它会通过 BroadcastReceiver 通知应用程序。我的问题是 BroadcastReceiver 的 onReceive() 方法被调用了两次。代码如下:

在我的列表适配器中,运行一个 for 循环来下载选定的 pdf。下载代码写在另一个类中,如下:

我正在尝试为每个 pdf 下载添加通知。这与下载管理器自己的 HoneyComb 及更高版本的内部通知完美配合,但对于 GingerBread 它不起作用,因此我必须推送我自己的自定义通知。所以我需要确定完整下载pdf的确切时间。截至目前,我可以推送我自己的自定义通知,但每次下载 pdf 时都会收到两次通知(因为 onReceive() 每个 pdf 都会收到两次)。谁能解释为什么 onReceive() 被调用两次(对于每个pdf)。有什么解决方法吗?也有人可以推荐如何在我的案例中取消注册广播接收器吗?上面的代码不是活动的一部分,所以我不确定如何取消注册接收器。

感谢您停下来阅读这篇文章。