The reason long hair causes a problem is that the phone compares the light coming in from the proximity sensor and the light coming in to the camera lens to determine if you have it up to your face. So make sure you aren't also covering the camera with your hand or finger. It does the same thing for the auto-brightness, using both the camera and proximity sensor to sense how bright the environment is. You can tell it does this by placing the phone flat on a surface and turning auto brightness on, now put your hand or finger over the proximity sensor, the phone dims, now pick it up (without covering the camera) and try the same thing, the phone does not dim.
Ok, I just tried what you said here and it once it worked, but after that ... it did not dim the phone while flat on my laptop ... i tried calling my voicemail and covering the phone's camera lens but that did not make a difference.
Is there somewhere I can read more about this? I wonder if this means I have a faulty proximity sensor.
The autodim behavior may depend on how light the surface that it is sitting on is. As far as the using the phone and having your face press buttons, you want to make sure you are NOT covering the camera lens, either with your hair or your finger.