Nowadays, as smartphones are becoming more and more powerful, applications providing location based services have been increasingly popular. Many, if not all, smartphones are equipped with a powerful sensor set (GPS, WiFi, the acceleration sensor, the orientation sensor, etc.), which makes them capable of accomplishing complicated tasks. Unfortunately, as the core enabler of most location tracking applications on smartphones, GPS incurs an unacceptable energy cost that can cause the complete battery drain within a few hours. Although GPS is often preferred over its alternatives, the coverage areas of GPS are still limited (GPS typically cannot function indoors). To this end, our goal in this paper is to improve the energy-efficiency of traditional location tracking service as well as to expand its coverage areas. In this paper, we introduce SensTrack, a location tracking service that leverages the sensor hints on the smartphone to reduce the usage of GPS. SensTrack selectively executes a GPS sampling using the information from the acceleration and orientation sensors and switches to the alternate location sensing method based on WiFi when users move indoors. A machine learning technique, Gaussian process regression, is then employed to reconstruct the trajectory from the recorded location samples. We implemented a prototype on an Android smartphone that can sample the related sensors during the user's movement and collect the sensor data for further processing on PCs. Evaluation on traces from real users demonstrates that SensTrack can significantly reduce the usage of GPS and still achieve a high tracking accuracy.