So how does that work? (1) I still have a Receiver that is invoked by alarms. (2) I would bind to my service in the onReceive() method, (3) pass in a ServiceConnection, and the onReceive() method invocation is done so far. (4) Then I get notified via ServiceConnection.onConnected() that my service is bound and (5) will cast the IBinder to my local interface? Using this interface I call my service method to do the actual work. (6) Can I stay in the current thread then or do I need to spawn my own? (7) After control flow returns from the method that does the actual work, still in onConnected(), I will unbind the service.
(8) Does that sound about right? (9) Do I still need the partial wake lock? (10) And if so, where would I acquire/release it? Acquire between (4) and (5) and release after (7)? Oh life would be so easy if I could just register my thread as a service ;-) On Mon, Mar 2, 2009 at 8:41 AM, Al Sutton <[email protected]> wrote: > > Thread's should never be started in a BroadcastReceiver because the > containg task ends when the onReceive method ends. > > The suggestion at > http://developer.android.com/guide/practices/design/responsiveness.htmlis; > > "But instead of doing intensive tasks via child threads (as the life of > a BroadcastReceiver is short), your application should start a Service > <http://developer.android.com/reference/android/app/Service.html> if a > potentially long running action needs to be taken in response to an > Intent broadcast." > > Just as Jon has done. > > Al > http://andappstore.com/ > > Jon Colverson wrote: > > I don't think it's valid to start a Thread in a BroadcastReceiver. The > > system doesn't know anything about that thread, so it wouldn't know > > that it's supposed to keep the process hosting it around. My app > > nanoTweeter does similar background polling and I acquire the WakeLock > > in the BroadcastReceiver and then start a Service. That service > > releases the lock when it's done. > > > > -- > > Jon > > > > > > > > > > -- > > * Written an Android App? - List it at http://andappstore.com/ * > > ====== > Funky Android Limited is registered in England & Wales with the > company number 6741909. The registered head office is Kemp House, > 152-160 City Road, London, EC1V 2NX, UK. > > The views expressed in this email are those of the author and not > necessarily those of Funky Android Limited, it's associates, or it's > subsidiaries. > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

