Can a android device really connects to Satellite using when LocationMethod set to "Phone Only"? All these years I was thinking like to get device location, android phones connects to nearby cellular towers or wifi. But recently I found another option in Settings > LocationMethod > "Phone only". Once I set LocationMethod as "Phone Only", I turned on the "Flight Mode"(No wifi and No network. Then I turned ON the Location Services &amp; Opened Google maps and its able to find my current location when I'm outside the building.

I did the same thing inside my home and it couldn't show my current location. So is my android device really connects to satellite to get my location? If yes, how can a small &amp; low power device send and receive signals to a satellite which orbit above 100km high, when it struggles to get a signal from a cell tower which are few kms away?
Many smartphones have a built-in Global Positioning Satellite (GPS) receiver.

This receiver picks up signals from GPS satellites orbiting about 12,500 miles above the earth's surface.  If it receives simultaneous information from four or more satellites, it can calculate the position of the receiver on (or above) the earth.

There is no transmission from the receiver to the satellite.

The transmission rate from the satellite is extremely slow, 50 bits per second.  This allows a single signal to be transmitted at low power from 12500+ miles away. 

The cell tower must transmit a different, high data rate signal to each device using it.  Thus the problems with sending many complicated signals even a short distance...