In my projects I am using BroadcastReceiver
s as a callback from a long running thread (eg. notify the activity that a download was finished and send some response d
Broadcastreceivers should be used If you need to send broadcasts across applications while Callbacks (or Handlers as suggested by Alex) are better to use in your situation.
If you want to use other than these two, consider using Observer (Interface included in android) and delegate.
For delegate please consider this SO post.