I have a class which initiates a sensor listener when it is started. This listener writes the latest sensor value to a variable when an event is triggered. The class goes on
This is not strictly related to android, but also general java question. Mechanism to implement this is container in java.lang.Oject. Assuming you have some guard object, where producer and consumer threads have access. On consumer thread you call:
guard.wait(some_optional_delay_Look_into_javadoc);
Then cosumer thread will wait until timeout ocurs or hell frozes out or producer thread issues:
guard.notify[All]();
(read documentation)
Your service listener will be producer.