Q:  My application provides a Service, but I want it to behave a little differently than usual.  Specifically, I don't want the application requesting the Service to deactivate, and I don't want my application to become the active application when it receives the data.  This way, users can send data to this service without being thrown out of whatever application they're in.  Is this possible?

A:  Yes!  Service providers can dictate whether or not they're activated when providing a Service, as well as whether or not the requesting application deactivates, through the following two options in the Services message description:

Activate Provider: <YES or NO>
Deactivate Requestor: <YES or NO>

Specifying "NO" in the Activate Provider field instructs the Services machinery to launch the Service provider (if not already launched) but not make it the active application.  Specifying "NO" in the Deactivate Requestor field instructs the Services machinery not to deactivate the application requesting the Service.

Omitting one of these two fields is equivalent to specifying "YES."

N.B.  Be careful how you use this feature.  Technically, you can have any combination of provider and requester activation but it would violate user interface guidelines.  It really only makes sense to set these both to either YES or NO, but not a combination of the two.

QA872

Valid for 2.0, 3.0