Android: Which thread calls .onSensorChanged?
Are we CERTAIN about that?
Yes, though it depends on how you register the listener, and the behavior is not especially well-documented.
There are two registerListener()
methods that take a SensorEventListener
. One takes a Handler
, the other does not. The latter one will use a Handler
that is associated with the main application thread. If you wish to have the events delivered to a background thread, use a HandlerThread
(which really should be called LooperThread
, but they didn't ask me...), create a Handler
in it, and use that Handler
with registerListener()
.