我想知道什么是对下载URL的意图是什么?在浏览器中,它会下载的东西一点点的通知图标。我想知道如果我可以使用该意图(和它是什么)。

有帮助吗?

解决方案

应用程序可下载文件的下载管理器,就像浏览器和Gmail。这是开始可用姜饼。

您的应用程序需要的网络的权限启动下载。要保存在默认的下载目录中的文件,还需要 WRITE_EXTERNAL_STORAGE 的权限。

下面是你如何可以下载一个URI:

DownloadManager.Request r = new DownloadManager.Request(uri);

// This put the download in the same Download dir the browser uses
r.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "fileName");

// When downloading music and videos they will be listed in the player
// (Seems to be available since Honeycomb only)
r.allowScanningByMediaScanner();

// Notify user when download is completed
// (Seems to be available since Honeycomb only)
r.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);

// Start download
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(r);

有一堆用于定制通知,查询下载状态和设定的下载位置的其他选项。

这个博客帖子展示了如何使用下载管理器在Android的早期版本通过隐藏的API。

其他提示

虽然我不相信这是在浏览器中下载的意向,你也许可以使用普通ACTION_VIEW意图并让浏览器决定是否应根据内容类型下载或查看URL。

因此,从代码触发

new Intent(Intent.ACTION_VIEW, Uri.parse(url))

和希望这触发在浏览器中下载。

你到底想干什么?如果您的应用程序要下载一个文件,你可以使用URLConnection的代码。如果你想下载一个包,那么ACTION_PACKAGE_INSTALL应该做你想要什么。

看一看这里在所有的Android意图。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top