You may want to read the LocationSensor tutorial here:
http://appinventor.mit.edu/explore/ai2/location-sensor.html
You can turn the gps off by LocationSensor.Enabled = False When you place a LocationSensor on your app, MIT says that the sensor is enabled automatically. I make a habit of turning it on in the Screen1.Initialize as a matter of course.
Yes, phones, especially the newer models do a lot of switching between Passive and WIFI and GPS ...this is supposed to happen whenever the GPS signal is too weak to get a satellite fix.
This can be prevented. If you ONLY want GPS, set Provider to gps then immediately set ProviderLocked = true. Why?
ProviderLocked
The device will not change the service provider. It is possible for providers to switch when the current provider is unable to provide adequate location fixes for circumstances. This is a Boolean switch; true/false. True, to prevent providers from changing.
When the GPS icon is flashing, the GPS receiver in the Android device is making a satellite fix; it is trying to 'find' at least three satellites needed to provide a latitude and longitude. When the icon stops flashing, the GPS has a fix. Notice that when the device is first switched on that the flashing may take 10 or 15 seconds or more? This is common. subsequent fixes may tak 3 to 5 seconds. No gps in phones can make a fix in less than several seconds. Also notice, if the phone is indoors, it takes longer to get a fix and in some structures the gps is unable to get a fix at all.
Be aware, the GPS is probably working even when the icon is NOT flashing. Developers can have the icon flashing all the time by changing the Interval value....all this achieves is a rapid battery drain. It makes no real sense to have the GPS make a fix more frequently than one minute in most applications and as mentioned, if you force a fix fewer than five seconds, you are probably giving your device a heart attack.
The newer phones have the ability to improve upon the GPS fix , most phones, the GPS fix is the most accurate fix. Usually the network fix triangulates using cell phone towers...youwill rarely get an Accuracy of less than about 50 meters.... GPS can give you several meters precision in devices with the best GPS receivers.
Hope this was helpful.
Regards,
Steve