May onLocationChanged never be called?

view full story

http://stackoverflow.com – I'm writing an app which finds the location of the phone with SMS. I use a sms broadcast receiver and when the right SMS comes in, acquire a wakelock then initiate the locating service which request location updates from both GPS and NETWORK. On the first onLocationChanged I send the position to requester, stop the service and release the lock. I want to know does android always call onLocationChanged? or maybe when it can't find the location of device (device is indoor for example), it's not called never? It's very important that this function is called , because if it's not the lock is n (HowTos)