[Galaxy S II Q&A, Help & Troubleshooting] LightspeedGalaxy:
That´s the way GPS-positioning works.

Your device measures the time the signal takes from the satellite to the GPS-reciever.

The time it takes for the signal is dependent on the distance between you and the satellite.

But calculate the distance and make something useful from it the device needs some information. First it needs to know the actual GPS-time. This must be very accurate, as the signal travels with the speed of light a very small error makes a big difference. Therefore it can´t simply use the internal clock.

It also must know the exact position from the satellite, so the distance can actually be used to calculate your position.

So the satellites constantly send a signal consisting of their ID, the time the signal was sent (all GPS-satellites are synchronized) and the current position of all GPS-satellites in the air. GPS-satellites aren´t geostationary, they are constantly moving around the world. Therefore on the same position on the earth you can experience very different GPS signal-strengths and different numbers of satellites you can receive, depending how the positions of the satellites are when you are using your GPS-receiver.

But GPS is very old and the signal is very weak, the data-rate is very very low. It is so low, if you had a GPS-antenna in your body, you could nearly count the bits yourself.

So it takes a lot of time to get the whole position-data transmitted and until the necessary position-data from the satellites is not on your device it is impossibly to calculate your position.

There is no backward-channel, so you can´t tell the satellite "please send me this", you simply have to wait until the satellite sends what you need. And if the signal was interrupted for a short period you can´t tell the satellite to resend the necessary information, you have to wait for the next round.

This is also what assisted-GPS can speed up. With A-GPS the satellite-positions are sent over the data-connection to your device, so it can speed-up the lock quite a bit, because your phone can almost immediately begin to calculate the position and does not have to wait for the satellites to send their position-data.

In the end you have a system of equations with 4 variables. The variables are the 3 space-coordinates, and what many people forget in first sight, the time.

To solve a system with 4 variables you need 3 equations -> 4 satellites.

More satellites can be used to increase accuracy, but they usually won´t speed up the initial lock a lot.

After the initial lock your device can interpolate the travel of the satellites, as well as the time, so 3 satellites are enough to recalculate the current position.

This is also the reason why the initial time for the initial lock depends highly when you last used the GPS. The satellite-positions can be interpolated with reasonable accuracy for a few hours. So if you use the GPS once every hour, lock usually will be quite fast. If you didn´t use the GPS for several days, the lock will take longer.

Read above, there isn´t enough data there, as long as the device doesn´t know the position of this 4 satellites.

Also it doesn´t really matter how many satellites you have to get the lock, actually 4 strong signals would be better then 10 very weak signals.

You also shouldn´t move around until you get the lock. Getting a lock in a driving car can take a very long time. First of all, the car blocks much of the satellites signals, the windows are the only chance to get some of the signals into the car, and if you drive around you will constantly lose one satellite and get to the next one. So much of the position-data will have to be sent several times, until your device gets all the necessary information.

No, not with GPS, you can use Cell-tower information, which allows positioning with very low to medium accuracy. WLANs could also be used, but aren´t always available.