title: Android - startActivityForResult outside an Activity?
body: <p>I have a wrapper class (BluetoothDiscoverer) which is instantiated within a Service. This class obtains a BluetoothAdapter and checks whether Bluetooth is enabled before scanning for neighbouring devices.</p>
  
  <p>Now if Bluetooth is not enabled I want to be able to do the following within this class (BluetoothDiscoverer):</p>
  
  <pre><code>Intent enableBluetoothIntent  = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
  
  startActivityForResult(enableBluetoothIntent, BLUETOOTH_ENABLER);
  </code></pre>
  
  <p>Now I have read this: <a href="https://stackoverflow.com/questions/2848775/use-startactivityforresult-from-non-activity">use startActivityForResult from non-activity</a></p>
  
  <p>but I don't want to pass my Main Activity into this object since I want to deal with the result (whether the user accepts to enable bluetooth or not) 
  within the BluetoothDiscoverer class.</p>
  
  <p>Now If I make BluetoothDiscoverer a subclass of Activity</p>
  
  <p>I seem to be getting a NullPointerException when the startActivityForResult is about to be called. </p>
  
  <p>I think this is because I need to add an onCreate()/onDestroy() method, 
  but this defeats the purpose of what I am doing as I need to be able to call methods on the BluetoothDiscoverer object within the service that instantiates this class.</p>
  
  <p>I also need to register a broadcast receiver for retrieving neighbouring devices when a scan is initiated. If the BluetoothDiscoverer class is not an Activity, how do I register this receiver? </p>
  
  <p>Is there a work around for this?</p>
  
  <p>Thank you
  Andreas</p>