Evo jedan primer:
http://cogitolearning.co.uk/?p=793
Ako je u pitanju nešto jednostavno, ne bih komplikovao kao što je opisano u gornjem linku...
Najprostije bi bilo da imaš jednu statičku varijablu (singleton) u kojoj bi registrovao trenutnog listener-a.
Na start activity-ja registruješ listener-a koji prima podatke i zna šta treba da radi sa njima u activity-ju.
Na end activity-ja setuješ listenera na null .
U thread-u, kako primaš podatke, tako pozivaš trenutno registrovanog listenera (ako ga ima).
Normalno, moraš koristiti runOnUiThread i voditi računa da je Activity još uvek aktivan.