A network device configured to communicate over a network, comprising: a transceiver that is arranged to communicate over the network; and a processor configured to perform the steps of: executing a location-based application; and when the location-based application invokes a location, selecting a location sensing method between locations sensing methods in a plurality of sensing methods to use to invoke the location, wherein the selecting includes: determining an application requirement for location accuracy required by the location-based application; for each of the location sensing methods in the plurality of location sensing methods: dynamically determining a location accuracy for the sensing method at the current environment; and determining whether the location accuracy at the current environment meets the application requirement for location accuracy required by the location-based application; and if two or more of the location sensing methods in the plurality of location sensing methods meet the application requirement for location accuracy selecting the location sensing method from among the location sensing methods that meet the application requirement for location accuracy that consumes the least power as the location sensing method to use to invoke the location; else selecting the location sensing method with the greatest location accuracy for the current environment as the location sensing method to use to invoke the location. a transceiver that is arranged to communicate over the network; and a processor configured to perform the steps of: executing a location-based application; and when the location-based application invokes a location, selecting a location sensing method between locations sensing methods in a plurality of sensing methods to use to invoke the location, wherein the selecting includes: determining an application requirement for location accuracy required by the location-based application; for each of the location sensing methods in the plurality of location sensing methods: dynamically determining a location accuracy for the sensing method at the current environment; and determining whether the location accuracy at the current environment meets the application requirement for location accuracy required by the location-based application; and if two or more of the location sensing methods in the plurality of location sensing methods meet the application requirement for location accuracy selecting the location sensing method from among the location sensing methods that meet the application requirement for location accuracy that consumes the least power as the location sensing method to use to invoke the location; else selecting the location sensing method with the greatest location accuracy for the current environment as the location sensing method to use to invoke the location. executing a location-based application; and when the location-based application invokes a location, selecting a location sensing method between locations sensing methods in a plurality of sensing methods to use to invoke the location, wherein the selecting includes: determining an application requirement for location accuracy required by the location-based application; for each of the location sensing methods in the plurality of location sensing methods: dynamically determining a location accuracy for the sensing method at the current environment; and determining whether the location accuracy at the current environment meets the application requirement for location accuracy required by the location-based application; and if two or more of the location sensing methods in the plurality of location sensing methods meet the application requirement for location accuracy selecting the location sensing method from among the location sensing methods that meet the application requirement for location accuracy that consumes the least power as the location sensing method to use to invoke the location; else selecting the location sensing method with the greatest location accuracy for the current environment as the location sensing method to use to invoke the location. determining an application requirement for location accuracy required by the location-based application; for each of the location sensing methods in the plurality of location sensing methods: dynamically determining a location accuracy for the sensing method at the current environment; and determining whether the location accuracy at the current environment meets the application requirement for location accuracy required by the location-based application; and if two or more of the location sensing methods in the plurality of location sensing methods meet the application requirement for location accuracy dynamically determining a location accuracy for the sensing method at the current environment; and determining whether the location accuracy at the current environment meets the application requirement for location accuracy required by the location-based application; and if two or more of the location sensing methods in the plurality of location sensing methods meet the application requirement for location accuracy selecting the location sensing method from among the location sensing methods that meet the application requirement for location accuracy that consumes the least power as the location sensing method to use to invoke the location; else selecting the location sensing method with the greatest location accuracy for the current environment as the location sensing method to use to invoke the location.