Unfortunately, Google has removed the ability in KitKat (4.4) for non-system applications to access battery statistics. On versions prior to KitKat, GSam obtained battery statistics from a built-in set of statistics from Android. If you have root, we can still get at that data. If you do not, then GSam will track as much of that data as it can by itself. Not all data can be tracked however.
In order to manually track usage for non-root users in KitKat, we had to include 2 new permissions. READ_PHONE_STATE and ACCESS_WIFI_STATE. These were added so that we know when the phone and wifi are in use so we can correctly show the respective power drain. Google Play users who are not using KitKat will not see these permissions, but KitKat users will regardless of whether they have Root or not.
If you have root:
There are a number of ways around this - unfortunately, all of them require Root.
- Use the GSam Battery Monitor - Root Companion app. This app will walk you through installing it as system privileged app. Once done, GSam Battery Monitor will behave as before. This is the preferred way... OR
- Copy GSam Battery Monitor apk directly into /system/priv-app/. This works well for the Free version, but is more challenging for the Paid version, requiring hoops that do not work for everybody.
- Use the XPosed Module that we wrote. This of course requires that you have the XPosed framework installed - and then you need to install linked module. This works well, and provides a more generic solution that works not only for GSam Battery Monitor, but for other apps as well. We still recommend option #1 above as it is the lowest risk mechanism - but if you already use XPosed, then this route is a great alternative.
Why do some Apps show higher usage than I would expect?
If you are fairly confident that an app really isn't using as much power as GSam Battery Monitor reports, it could be a problem with how Android reports it's sensor usage. Some devices coupled with certain levels of Android don't correctly report sensor usage by apps. Specifically, it appears that an app has continuously used a certain sensor (such as the accelerometer), thereby triggering a very high power drain relative to other apps. So if your app is showing that it has a high sensor usage - but you know it doesn't, then go into Preferences -> Device Power Profiles -> Include Sensors. Uncheck this (do so when you are plugged in).
Things should start correctly showing usage. Unfortunately it means that the app can't take sensor usage into account, but if your phone isn't accurately reporting that to begin with, it's better off not included.
The notification icon doesn't update, and I have to open the app to see the latest.
The battery monitor has to run in the background to keep posting the latest battery stats to your notification bar. Things such as task killers, or memory cleaners will stop the the background service. It will restart on it's own, but if it gets stopped too many times in a certain time span, Android will lengthen the restart time. Android itself will also stop background tasks automatically when it needs resources (hence why task killers are not a good idea - Android already does this). If your phone is running too low on resources and has lots of apps competing for these resources, the battery app will get stopped by design.
If you want to override this behavior, enable the following preference: Preferences -> Device Power Profiles -> High Priority. Do this with care though. It sets GSam to run in a mode where it will only get stopped if the system is really running low on resources. If you don't have an update problem, don't enable this.
There are other reasons it could be happening - but try this first. If this still doesn't resolve your issue, please contact us so we can help!
My tablet reports Phone usage - but it doesn't have a phone. Why?
Some device manufacturers don't always correctly honor Androids API to determine if a device has Telephony support or not (that's you Nook). Please email us and let us know the specific device - we'll update a table of specific devices so that it reports things correctly for you!