Android的下载意图
-
22-08-2019 - |
题
我想知道什么是对下载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意图。
不隶属于 StackOverflow