title: Analog of startActivityForResult for Service
body: <p>Despite <a href="https://stackoverflow.com/questions/2848775/use-startactivityforresult-from-non-activity">similar question was asked</a>, I have differnet situation: 
  My app consists mostly of a background <code>Service</code>. I want to start external activities and get results back.</p>
  
  <p>I see several options:</p>
  
  <ol>
  <li><p>Create dummy <code>Activity</code> and keep reference to it for using its <code>startActivityForResult</code>. This consumes quite a lot of memory, as we know.</p></li>
  <li><p>Use <code>Broadcast Intents</code> instead of Android's results infrastructure: ask client activities to broadcast their results before closing. This kind of breaks the idea and not so performance-efficient.</p></li>
  <li><p>Use <code>Instrumentation</code> directly - try to copy code from startActivityForResult into my Service. </p></li>
  <li><p>Use Service interfaces - serialize and add <code>AIDL</code> connection to the Intent for starting an Activity. In this case Activity should <a href="https://stackoverflow.com/questions/3114669/android-and-restful-services">call Service directly</a> instead of providing result.</p></li>
  </ol>
  
  <p>The third approach feels closer to Android for me, but I'm not sure if it's possible to do - Service does not have its Instrumentation, and default implementation seems to always return null. </p>
  
  <p>Maybe you have any other ideas?</p>