2013-03-03 76 views
2

在android中,我有这个URL,我必须做POST请求 返回的输入流的所述请求返回一个可下载的对象... 我该如何使用Android Downloadmanager本身或自定义创建一个,为我处理下载过程?Android HTTP POST下载管理器

+0

什么是你的目标API? – 2013-03-03 14:10:47

+0

最低支持2.3.6 在4.1平板电脑上开发,但它主要用于2.3.6 – jaggy 2013-03-03 14:14:06

+0

看看这个http://stackoverflow.com/questions/2323617/android-httppost-how-to-get-the-result帮助。 – 2013-03-03 14:20:24

回答

0

的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请求。

编辑:做一个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); 

,你应该能够从获得的HttpResponse的InputStream要下载的文件。 但您必须自己管理显示/通知/取消...。

+0

这就是我已经知道的,这是关键,我需要一个POST请求,而不是一个GET请求 – jaggy 2013-03-03 14:13:20

+0

得到了这一点;)恐怕你不能使用下载管理器,然后...我编辑我的添加另一个解决方案 – Guian 2013-03-03 14:18:29

+0

我已经做了所有的东西:(我发现的解决方案,嗯,我基本上不得不自己创建我自己的通知和更新它,而不是自动 – jaggy 2013-03-03 15:22:16