HI Once Again, I have tried to start the LocalService in APIDEMOS on bootup complete from a broadcast receiver & then tried to run the Local service Binding example code(which calls bindService() & unbindService() apis). As observed in my app(case 2 listed by me) here again after the first bindService() & unbindService() api calls, the example could not communicate with the local service(so I dont expect this behavior to be caused by some code written by my app).
Although I did manage to do a work around.The workaround is to call stopService() after the unbindService() is called. After this bindService() & unbindService() seems to work without any problem. Pls advice whether this is a good way to handle this situation. Any suggestions for the workaround are welcome. Looking for to more responses on this discussion. Abraham On Jan 14, 10:17 am, Abraham <[email protected]> wrote: > HI Al, > > I have tried putting the logs & my observations are as follows: > > Case 1: when the local service not started up on boot up complete. > From UI Call bindService() to start the service. Since the service is > not yet started onCreate() is called followed by onBind() of the local > service. From onServiceConnected() UI get the instance of service, > register a callback handler(so that service can inform UI once the > desired operation is complete) & invoke the desire operation. Once the > operation is completed the UI calls unbindService(). In this case the > service is killed on unbindService(). Also as mentioned by me earlier > in this case the binding / unbinding works multiple times & each time > ui is able to communicate with service. > > Case 2: LocalService is started on boot up complete. > On Bootup complete event the service is started by calling startService > (). This invokes onCreate() followed by onStart() of the local > service. The service is started at this point. On user action UI now > invokes bindservice() to bind the service with UI.From > onServiceConnected() UI get the instance of service, register a > callback handler(so that service can inform UI once the desired > operation is complete) & invoke the desire operation. Once the > operation is completed the UI calls unbindService(). In this case the > service is not killed since stopself() or stopservice() is not called. > From this point on I cannot bind again with the service, i.e. > bindService() returns true...but onBind() is never called. > > On Jan 14, 2:53 am, Al <[email protected]> wrote: > > > > > Binding and unbinding many times works fine for also. Try adding log > > messages to your service's onCreate, onStart, onBind methods to see if > > they are being called and investigate from there. > > > > On Tue, Jan 13, 2009 at 5:00 AM,Abraham > > > <[email protected]>wrote: > > > > > HI All, > > > > > I'm facing an issue with my application & need your expert opinion in > > > > resolving the issue. > > > > > My app has a local service which is started by calling startService() > > > > when the phone boot up is complete. My app also has a UI component > > > > which the user can use for making use of the service. Following the > > > > Local service binding example in ApiDemos my app is calling bindService > > > > () api to bind with the local service & make use of the local service > > > > instance obtained through the IBinder in onServiceConnected() to > > > > perform operations provided by the service. Once the operation is > > > > completed my app calls unbindService() to disconnect the UI from the > > > > service. From this point on my app cannot communicate with the local > > > > service by calling bindService() or startService(). > > > > > Has anyone faced similar issues. If yes, what is the work around. Am I > > > > doing something wrong. > > > > > Another observation is that if I donot call unbindService() I'm able > > > > to make use of the operations provided by the service, although it > > > > leads to memory leaks ( as displayed in the logs) . > > > > > Looking forward your response. Thanx in advance.- Hide quoted text - > > > - Show quoted text -- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

