A couple of questions... See below:

On Dec 19 2008, 8:46 pm, "Dianne Hackborn" <[email protected]>
wrote:
> Yes, there are a number of options:
>
> (1) In your activity use registerReceiver() for your own custom action
> (scoped to your package), and broadcast to that from the service.  We aware
> that this opens you up to -any- application broadcasting to you through it
> unless you also define and require a signature-based permission.
>
> (2) Create a PendingIntent to send results back to your activity and give it
> to the service.  The service should be able to use to to send you data that
> you receive in onActivityResult().  Note that each time the result is
> delivered your activity will go through onPause() and onResume().
>

"...and give it to the service."  - How do I "give it to the
service?".

with intent.putExtra ? Since PendingIntent is a Parcelable?



> (3) Create a Handler in your activity, create a Messenger pointing to it,
> and give the Messenger to the service.  The service can then just deliver
> whatever messages it wants back to the activity.

"...and give it to the service."  (Same as above)

...with intent.putExtra ? Since a messenger is a Parcelable?

>
> (4) Easiest way: if your service and activity is running in the same process
> (I would expect this to be the common case), then follow the local service
> API demo where you can just directly call each other.  Or have a global
> pointing to your activity while it is running that the service looks at,
> etc.

A global ? As in "a global variable in the Application object?" I
somehow felt that was bad practice.




>
> For most app developers, I strong encourage that they have their service run
> in the same process as their activities, take advantage of that by using
> globals and direct calls between them, and end up with a much simpler
> situation to deal with and a much lighter-weight application (by avoiding
> having multiple processes running at the same time).
>
> On Fri, Dec 19, 2008 at 11:49 AM, Noonien Soong
> <[email protected]>wrote:
>
>
>
>
>
> > I got a question related to this.
>
> > I have an activity and a service. Right now they communicate via 2
> > connections with 2 binders like this:
> > Activity binds to Service
> > Service sets up callback binding to Activity
> > Activity calls remote function in service over AIDL-thing ... ...
> > Service loads current data from sqlite DB.
> > Service starts thread and does some work.
> > Service saves the new state into the sqlite DB.
> > Work-Thread on Service is done.
> > now : Service sends a notice back to the Activity telling the activity
> > the operation has completed.
> > This is either done by a callback if the Activity is still up or with
> > the  Notification-functionality ( the little icon thing on top of the
> > screen ), if the activity is down.
> > ( note: when the activity goes down, the service learns of that fact.
> > so when the work-thread is done, I know about the state of the
> > Activity ).
>
> > now my question: Since the communication between my service and my
> > activity ( in either direction) is pretty simple ( just function
> > calls, no other data submitted), I was wondering if I could do the
> > thing simply by sending intents back and forth. I know how to send
> > intents from the Activity to the Service ( startService() ), but how
> > do I send intends the other way?
> > With  sendBroadcast(Intent intent)  from the Context - class?
> > I feel like if I could just send Intents back and forth it would make
> > things easier..
>
> > Or am I under a wrong impression here?
>
> > Any comments appreciated!
>
> --
> Dianne Hackborn
> Android framework engineer
> [email protected]
>
> Note: please don't send private questions to me, as I don't have time to
> provide private support.  All such questions should be posted on public
> forums, where I and others can see and answer them.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to