To prolong the battery lifetime of modern mobile devices, the energy management policy should be developed in a personalized way, adequately reflecting user context or the energy behavior of the user. The first step toward this personalization is to collect the relevant information, accurately and efficiently, from the device. This paper presents a fine-grained and low-overhead framework, called User Scope, which is designed to collect energy-related user contexts in Android smartphones. We classified energy-related smart phone usage and designed an appropriate set of monitoring parameters to collect from the system. The User Scope core is then implemented as a kernel module to collect all the necessary information in an event-driven manner. This kernel-level implementation ensures monitoring accuracy and low system overhead. User Scope also provides a data-sharing mechanism with which other software components in the system can easily interface. Our experiments show that User Scope accurately extracts energy related system information with 0.8% CPU overhead. The practicality of User Scope is also validated with real deployment and subsequent analysis of the collected data.