我正在使用DownloadManager对我正在进行的一些下载进行排队,但当我特别尝试使用移动/4G连接时,就会遇到这个问题。我使用的是安卓2.3.4版本的手机。我的代码使用的是2.3.3 API。
我正在执行以下命令(我想强制连接使用4G/3G)
request.setAllowedNetworkTypes(Request.NETWORK_MOBILE);
但是,每当它尝试下载时,它都会将下载放在DownloadManager列表中,但它永远保持“正在进行”的状态,并且顶部的错误列出了文件名和错误"Download requires network“。
当我进一步调查并连接我的设备以查看logcat中的日志时,当它尝试下载时,我看到以下错误:
正在中止下载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连接没有问题。我认为这是一个由设备完成的安全功能,可以被覆盖吗?
发布于 2012-01-18 06:19:53
当你没有数据连接(不管你是否连接到wifi)时,就会出现这个错误。您可以自行指定NETWORK_MOBILE ,但如果在您的数据连接当前不工作时尝试进行下载,它将抛出一个错误,提示您"Download Requires “。
我的建议是再次获得数据连接,直到你再次获得连接。当我的Droid仿生手机上有数据连接时,我可以分辨出来,因为顶部的栏图标显示4GLTE和4 bar 会变成蓝色而不是白色。
发布于 2011-12-22 04:16:30
我不知道你是如何设置你的下载管理器的,但这就是我在pass中使用它的方式。
private long enqueue;
private DownloadManager dm;
public void onClick(View view) {
dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(
Uri.parse("File URL"));
enqueue = dm.enqueue(request);
}
public void showDownload(View view) {
Intent i = new Intent();
i.setAction(DownloadManager.ACTION_VIEW_DOWNLOADS);
startActivity(i);
}
https://stackoverflow.com/questions/8595438
复制相似问题