Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android HTTP后期下载管理器_Java_Android_Download - Fatal编程技术网

Java Android HTTP后期下载管理器

Java Android HTTP后期下载管理器,java,android,download,Java,Android,Download,在android中,我有一个URL,我必须向它发出POST请求 所述请求返回的inputstream返回一个可下载的对象。。。 如何使用Android Downloadmanager本身或自定义的下载管理器为我处理下载过程?Android的下载管理器非常简单: DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); Request request = new Request(Uri.parse("htt

在android中,我有一个URL,我必须向它发出POST请求 所述请求返回的inputstream返回一个可下载的对象。。。
如何使用Android Downloadmanager本身或自定义的下载管理器为我处理下载过程?

Android的下载管理器非常简单:

DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Request request = new Request(Uri.parse("http://www.theeUrl.fake/image.png"));
enqueue = dm.enqueue(request);
您可以轻松地将参数添加为GET请求。我不知道你是否能向它提出邮寄要求

编辑:要发出post请求,您可以使用HttpClient,如下所示:

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost(url);
HttpResponse response = null;
Dictionary<String, String> postFields = new Dictionary<String, String>();  

// Set the post fields
postFields.add("username","toto")));
postFields.add("password", "thePassword45155")));
post.setEntity(new UrlEncodedFormEntity(postFields, HTTP.UTF_8));

// Execute the POST request
response = client.execute(post);
HttpClient=newdefaulthttpclient();
HttpPost=新的HttpPost(url);
HttpResponse响应=null;
Dictionary postFields=新字典();
//设置post字段
添加(“用户名”、“toto”);
添加(“密码”、“密码45155”);
setEntity(新的UrlEncodedFormEntity(postFields,HTTP.UTF_8));
//执行POST请求
响应=client.execute(post);
您应该能够从httpResponse获取inputstream来下载该文件。 但是你必须管理显示/通知/取消。。。你自己。


使用setProgress()和progressbar创建您自己的post请求通知,就达到了这一目的,因此使用DownloadManager的方法还没有定论可悲的是

您的目标API是什么?在4.1平板电脑上支持的最低2.3.6开发,但它主要用于2.3.6,看看这是否有帮助。我必须编写一个单独的类来手动处理下载和进度条,非常类似于下面的内容,这正是我所知道的,这就是重点,我需要一个POST请求,而不是GET请求(获得该sry;)恐怕您不能使用下载管理器。。。我编辑我的帖子以添加另一个解决方案我已经做了所有这些事情:(我找到了解决方案,我基本上必须创建自己的通知并亲自更新,而不是自动更新……为什么必须是POST请求?您可能应该将身份验证作为单独的请求进行管理,然后在会话打开后,在get请求中使用会话令牌下载文件;)我这样做了,但服务器要求您发送一个带有经过身份验证的密钥的参数,然后才能为您提供任何服务:)