Reputation: 2916
I have an application that needs to send current user location, when the location changes, to remote URL. I am using following code to call url with some params. But following code only works once, when I can't for the second time nothing happens. I on see one request on the server log and then not requests are received.
public String sendRequest(String url){
InputStream content = null;
try {
HttpResponse response = httpclient.execute(new HttpGet(url));
response.setHeader("Cache-Control", "no-cache");
content = response.getEntity().getContent();
content.close();
} catch (Exception e) {
try {
content.close();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return content;
}
NOTE: I am using emulator and sending location manually.
03-30 16:48:15.205: E/ActivityThread(645): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ceef60 that was originally bound here
03-30 16:48:15.205: E/ActivityThread(645): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ceef60 that was originally bound here
03-30 16:48:15.205: E/ActivityThread(645): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
03-30 16:48:15.205: E/ActivityThread(645): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
03-30 16:48:15.205: E/ActivityThread(645): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
03-30 16:48:15.205: E/ActivityThread(645): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
03-30 16:48:15.205: E/ActivityThread(645): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
03-30 16:48:15.205: E/ActivityThread(645): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
03-30 16:48:15.205: E/ActivityThread(645): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
03-30 16:48:15.205: E/ActivityThread(645): at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
03-30 16:48:15.205: E/ActivityThread(645): at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
03-30 16:48:15.205: E/ActivityThread(645): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
03-30 16:48:15.205: E/ActivityThread(645): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
03-30 16:48:15.205: E/ActivityThread(645): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
03-30 16:48:15.205: E/ActivityThread(645): at android.os.AsyncTask$2.call(AsyncTask.java:287)
03-30 16:48:15.205: E/ActivityThread(645): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
03-30 16:48:15.205: E/ActivityThread(645): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-30 16:48:15.205: E/ActivityThread(645): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-30 16:48:15.205: E/ActivityThread(645): at java.lang.Thread.run(Thread.java:856)
03-30 16:48:15.225: E/StrictMode(645): null
03-30 16:48:15.225: E/StrictMode(645): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40ceef60 that was originally bound here
03-30 16:48:15.225: E/StrictMode(645): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
03-30 16:48:15.225: E/StrictMode(645): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
03-30 16:48:15.225: E/StrictMode(645): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
03-30 16:48:15.225: E/StrictMode(645): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
03-30 16:48:15.225: E/StrictMode(645): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
03-30 16:48:15.225: E/StrictMode(645): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
03-30 16:48:15.225: E/StrictMode(645): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
03-30 16:48:15.225: E/StrictMode(645): at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)
03-30 16:48:15.225: E/StrictMode(645): at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)
03-30 16:48:15.225: E/StrictMode(645): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)
03-30 16:48:15.225: E/StrictMode(645): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
03-30 16:48:15.225: E/StrictMode(645): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
03-30 16:48:15.225: E/StrictMode(645): at android.os.AsyncTask$2.call(AsyncTask.java:287)
03-30 16:48:15.225: E/StrictMode(645): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
03-30 16:48:15.225: E/StrictMode(645): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-30 16:48:15.225: E/StrictMode(645): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-30 16:48:15.225: E/StrictMode(645): at java.lang.Thread.run(Thread.java:856)
03-30 16:48:15.225: W/ActivityManager(275): Unbind failed: could not find connection for android.os.BinderProxy@4100e3e8
03-30 16:48:15.246: E/ActivityThread(645): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d2cc28 that was originally bound here
03-30 16:48:15.246: E/ActivityThread(645): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d2cc28 that was originally bound here
03-30 16:48:15.246: E/ActivityThread(645): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
03-30 16:48:15.246: E/ActivityThread(645): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
03-30 16:48:15.246: E/ActivityThread(645): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
03-30 16:48:15.246: E/ActivityThread(645): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
03-30 16:48:15.246: E/ActivityThread(645): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
03-30 16:48:15.246: E/ActivityThread(645): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
03-30 16:48:15.246: E/ActivityThread(645): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
03-30 16:48:15.246: E/ActivityThread(645): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
03-30 16:48:15.246: E/ActivityThread(645): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
03-30 16:48:15.246: E/ActivityThread(645): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
03-30 16:48:15.246: E/ActivityThread(645): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
03-30 16:48:15.246: E/ActivityThread(645): at android.os.AsyncTask$2.call(AsyncTask.java:287)
03-30 16:48:15.246: E/ActivityThread(645): at java.util.concurrent.FutureTask.run(FutureTask.java:234)
03-30 16:48:15.246: E/ActivityThread(645): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
03-30 16:48:15.246: E/ActivityThread(645): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
03-30 16:48:15.246: E/ActivityThread(645): at java.lang.Thread.run(Thread.java:856)
03-30 16:48:15.265: E/StrictMode(645): null
03-30 16:48:15.265: E/StrictMode(645): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40d2cc28 that was originally bound here
03-30 16:48:15.265: E/StrictMode(645): at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
03-30 16:48:15.265: E/StrictMode(645): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
03-30 16:48:15.265: E/StrictMode(645): at android.app.ContextImpl.bindService(ContextImpl.java:1418)
03-30 16:48:15.265: E/StrictMode(645): at android.app.ContextImpl.bindService(ContextImpl.java:1407)
03-30 16:48:15.265: E/StrictMode(645): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
03-30 16:48:15.265: E/StrictMode(645): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
03-30 16:48:15.265: E/StrictMode(645): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
03-30 16:48:15.265: E/StrictMode(645): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
03-30 16:48:15.265: E/StrictMode(645): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
03-30 16:48:15.265: E/StrictMode(645): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
I see the problem, I have to add
HttpGet getter = new HttpGet(url);
getter.setHeader("Cache-Control", "no-cache");
Upvotes: 0
Views: 553
Reputation: 12823
You're probably experiencing a caching issue. Android doesn't see any difference in your request and you're probably asking for it very close together.
add a HTTP header:
Cache-Control: no-cache
Upvotes: 1