I have a xt894 with Android 4.3.
I bought an extended 3800mAh battery (Mugen) but the droid doesnt recognize it properly.
I tested a couple of battery manager apps, but I dint find what I am looking for.
I would like to know the name of an app that shows the current battery charge based on its voltage
There is no app that does that, and there never will be, because it is impossible. The voltage of a battery does not tell you how much charge a battery has, nor does any other characteristic of the battery. Battery voltage does drop as capacity drops, but the voltage drop is a function of the percentage of charge, not amount of charge.
It is impossible to directly determine the amount of charge in a battery at a given point in time, by voltage or any other means. Battery capacity tests can only be conducted by spending the battery charge, and measuring it as it is used up. The test doesn't tell you how much charge the battery currently had at any given point in time; it tells you at the end how much charge the battery had at the beginning. I suppose a smart aleck might say that at the end of the test you know how much charge the battery has at that point in time, because that charge is zero. However, you're still not determining that by measuring the charge directly; you're measuring the current, and inferring zero charge based on zero current.
It should theoretically be possible to design an app that estimates capacity by conducting a drain test, but I havenxe2x80x99t been able to find such an app. Maybe thatxe2x80x99s because it would be a major pain to run the test. The test would need to start with the battery fully charged and run until it is fully drained, and in order for the test to be accurate you would need to leave the device idle for the duration of the test.
The best method I can think of to estimate battery capacity is to compare the drain rate of the stock battery (or any other battery whose specs you trust as a baseline) to the drain rate of the battery you want to measure, under circumstances that are as similar as possible.
I'm not sure exactly how Android measures the battery percentage. I've read in unofficial sources that it's supposedly based on current and/or voltage, but I've also read that due to the nearly flat voltage vs. charge percentage curve, voltage is not sufficient for determining the charge percentage of lithium ion batteries, and other characteristics need to be used, possibly in combination. In any case, I recommend starting the test from the same percentage charge for both batteries and near the middle of the range, due to the fact that some of the characteristics that can be used to estimate charge percentage (such as the voltage) have a non-linear relationship to the charge percentage, and the curve tends to be flattest near the middle.
Step by step:
For example, running my Galaxy S4 for one hour, in airplane mode with the LED flashlight, on, the screen brightness at maximum, and the timer app displayed, starting from 75% charge, the stock battery drains to 39%, and my Deep Stretch DPS430 extended battery drains to 52%. The stock batteryxe2x80x99s capacity is 2600 mAh. So, to estimate the extended batteryxe2x80x99s capacity based on how its drain compares to the stock battery:
(75 - 39) / (75 - 52) * 2600 = 4070
To my surprise, that was actually pretty close to the stated capacity of 4280 mAh (keeping in mind that the test isnxe2x80x99t perfect, and is subject to rounding errors. In this case rounding errors could throw off the results by up to ~110 in either direction, so the actual result really should be stated as xe2x80x9capproximately 3960 to 4180 mAhxe2x80x9d.)
VBatt does this work best for me. It allows you to display widget that shows the current battery charge based on its voltage. App description says
Vbatt is a simple battery widget for Android smartphones and tablets. It displays the current battery voltage (Vbatt) and the remaining battery capacity (percentage) and optionally logs these values to a CSV-file.
For testing and benchmarking Vbatt provides a JBox2D** based discharger, which drains the battery and displays the clock and runtime and for CPU benchmarking the simulation frequency.
There is no app that does that, and there never will be, because it is impossible. The voltage of a battery does not tell you how much charge a battery has, nor does any other characteristic of the battery.
That's not true, Battery Monitor Widget Pro has an option to choose "Calculate battery level from voltage". There are all kinds of battery meters that use voltage to measure charge condition. Admittedly it isn't as accurate as coulomb counting. However, a coulomb counter off calibration will mislead you more than voltage, and thus many modern day designs incorporate both.
It depends a lot on battery technology if voltage can be used to check the charge level. Lithium, which is what we are talking about here, works reasonably well with voltage sensing. NiCD and NiMH don't work well at all. Etc.
You could read more on BatteryUniversity for details and a graph of volt vs charge level for lithium.
Modern cellphones use lithium batteries, which have constant voltage all along their discharge time (almost), hence a 3.7V value can mean "80%" or "20%", so to properly calculate available energy it is required an "electronic fuel gauge" which measures how many mAh came out of the battery and divide them for the known total amount of mAh available in the battery, thus obtaining a number <1 which, multiplied by 100, gives State of Charhe (SoC) in terms of %. Actually, at full chrage, there is a quick lowering of voltage from 4.2 to 3.7, but this fall just represents a 10% of total charge; then, from 3.7 to 3.5, there is an 80% of the charge, and eventually from 3.5 to 3.0 there is the final 10%.
A voltage-based charge status indicator is instead possible for lead batteries, where the voltage linearly decreases from "maximum charge" value to "minimum charge" value.