我正在使用 DownloadManager 对我正在制作的一些下载进行排队,但是当我特别尝试使用 Mobile/4G 连接时遇到了这个问题。我使用的是 Android 2.3.4 手机。我的代码使用的是 2.3.3 API。
我正在执行以下命令(我想强制连接使用 4G/3G)
request.setAllowedNetworkTypes(Request.NETWORK_MOBILE);
但是,无论何时尝试下载,它都会将下载内容放在 DownloadManager 列表中,但它永远保持“进行中”状态,顶部的错误列出了文件名和错误“下载需要网络”。
当我进一步调查并连接我的设备以查看 logcat 中的日志时,我在尝试下载时看到以下错误:
Aborting request for download 92: 请求下载不使用当前网络类型
我有以下权限:
android.permission.WRITE_OWNER_DATA
android.permission.READ_OWNER_DATA
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.INTERNET
android.permission.ACCESS_NETWORK_STATE
android.permission.ACCESS_WIFI_STATE
android.permission.CHANGE_WIFI_MULTICAST_STATE
android.permission.CHANGE_NETWORK_STATE
android.permission.CHANGE_WIFI_STATE
关于它可能是什么的任何想法?我仍然缺少许可吗?我需要控制其他设置来指定仅使用网络连接吗?
编辑:我在全新的 Galaxy 平板电脑上尝试过,这是我在使用此设备时注意到的行为:当 wifi 开启并连接时,指定使用 NETWORK_MOBILE 时下载失败。如果wifi关闭或未连接,则使用4G连接没有问题。我在想这是设备正在执行的安全功能,可以覆盖吗?