【问题标题】:Android: Download an application using the DownloadManager classAndroid:使用 DownloadManager 类下载应用程序
【发布时间】:2012-06-22 04:09:03
【问题描述】:

我正在尝试使用 DownloadManager 类在 Android 中下载非市场应用程序。 我正在做的事情如下:

DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse("PATH_TO_MY_APP"));
long enqueue = dm.enqueue(request);

通知栏显示正在下载该应用程序。但我无法安装它或在设备上找到它。我做错了什么?

【问题讨论】:

  • 当你尝试安装它时它会做什么?如果您输入股票浏览器的路径,它是否能够下载并安装您的应用程序?
  • 是的,当我尝试从浏览器安装应用程序时,该应用程序已下载并安装。
  • 当您尝试安装来自您的代码的那个时,它会做什么?有什么具体错误吗?
  • 没有错误。我可以从下载中访问我的 apk,当我点击它时,它会显示:解析错误。解析包时出现问题。
  • @b.i 你最好阅读 android 文档并在下面的链接中练习常见的 ware 下载管理器演示示例。 developer.android.com/reference/android/app/…

标签: android download


【解决方案1】:

同样的问题。通过调用解决:

public DownloadManager.Request setDestinationUri (Uri uri)

您需要拥有 WRITE_EXTERNAL_STORAGE 权限。

Uri src_uri = Uri.parse("http://your.url.here/File.apk");
Uri dst_uri = Uri.parse("file:///mnt/sdcard/download/File.apk");

DownloadManager.Request req = new DownloadManager.Request(src_uri);
req.setDestinationUri(dst_uri);
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
dm.enqueue(req);

【讨论】:

  • 如何使用DownloadManager将文件写入/mnt/extsdcard/?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多