Android DownloadManager 在某些情况下不起作用

Android DownloadManager doesn't work in some circumstances

我正在使用 DownloadManager(Android、Java)通过 WI-Fi 从同一 LAN 中的计算机下载文件。它在我测试的大多数手机上都能完美运行,但似乎在某些设备上,当从路由器 (!) 上拔下 WAN 电缆 (Internet) 时,下载不会开始。当我连接互联网电缆时,这些手机上的一切都会恢复正常。无论互联网是否连接到路由器,其他手机都可以毫无问题地下载文件。这让我困惑了一个多星期。 logcat 中没有任何线索(下载只是没有开始就没有任何错误)。这很奇怪,因为互联网不应该与下载有任何关系。一切都发生在局域网中。欢迎提出任何建议。

您可以设置 setAllowedNetworkTypes 标志。 参考这个 -> https://developer.android.com/reference/android/app/DownloadManager.Request.html#setAllowedNetworkTypes(int)

最后发现 Fetch 库也引入了同样的问题。在这种情况下,对我有用的是使用 AsyncTask 和 InputStream 制作我自己的下载器。