Listening for Cradle lock/unlock events



Is there any way to listen for the true state of the lock of the cradle or even query the cradle about it's current locked/unlocked state? I haven't been able to do either so far.


Also, how would I go about to detect being placed in the cradle but not yet picked up?


We basically have three states in our app. Parked and locked, Parked but not locked (reserved for user) and not parked (picked up by user).


Listening for battery state changes have proved unreliable and I'm not able to detect the state of the lock.


Please advice.