Android 8.0 DownloadManager在移动数据中不工作

Android 8.0 DownloadManager在移动数据中不工作,android,android-download-manager,Android,Android Download Manager,我在下载管理器中设置了此选项,但即使在WIFI中也不起作用: request.setAllowedNetworkTypes(DownloadManager.Request.NETWO‌​RK_WIFI | DownloadManager.Request.NETWORK_MOBILE) 下面的代码可以工作:但只能在WIFI模式下工作,这样它就不能使用移动数据下载 request.setAllowedNetworkTypes(DownloadManager.Request.NETWO‌​RK_WI

我在下载管理器中设置了此选项,但即使在WIFI中也不起作用:

request.setAllowedNetworkTypes(DownloadManager.Request.NETWO‌​RK_WIFI | DownloadManager.Request.NETWORK_MOBILE)
下面的代码可以工作:但只能在WIFI模式下工作,这样它就不能使用移动数据下载

request.setAllowedNetworkTypes(DownloadManager.Request.NETWO‌​RK_WIFI) 

这是下载管理器中的错误吗?

检查网络可用性,尤其是状态栏上的wifi/移动信号图标。如果有一点交叉,系统会将其视为无网络,不会继续下载(我最近遇到过这种情况)

正如开发者所说:

setAllowedNetworkTypes

added in API level 9
public DownloadManager.Request setAllowedNetworkTypes (int flags)
Restrict the types of networks over which this download may proceed. By default, all network types are allowed. Consider using setAllowedOverMetered(boolean) instead, since it's more flexible.

所以只要去掉这一行就行了。

我也有类似的问题。但是删除
setAllowedNetworkTypes
的行不起作用

我的问题可以在8.1 emulator上重现。但它在真正的设备上运行良好


我的解决方案是
设置AllowedOverroaming(false)
。我不知道为什么。

更改Android清单权限外部写入权限,如下所示

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="replace"/>


您解决了这个问题吗?事实上,我发现删除这一行可以。您找到根本原因了吗?根据文档,我删除这一行以将其设置为默认行为。