Default [Q] Question regarding sensors and java implementation

Hi guys,
I need my app to check if the phone face is covered when the screen unlocks.
I've acomplished this by creating a service to get datas from the proximity sensor. The problem is that it isn't energy efficient as the proximity sensor is checking non-stop until the screen is turned on.
Is there any better way to accomplish this or other sensor to use just to verify if the phone is covered by the moment when the screen is turned on?
Thanks!