我想知道下载URL的意图是什么?在浏览器中,它会使用一个小通知图标下载东西。我想知道我是否可以使用这个意图(以及它是什么)。
我想知道下载URL的意图是什么?在浏览器中,它会使用一个小通知图标下载东西。我想知道我是否可以使用这个意图(以及它是什么)。
应用程序可以像浏览器和 Gmail 一样使用下载管理器来下载文件。这从Gingerbread开始就可用。
您的应用程序需要INTERNET权限来启动下载。为将文件保存在默认的下载目录中,还需要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意图。