I'm using my Samsung Galaxy S2 for development so I regularly plug it while it's not fully charged, and my phone starts charging over USB. I think this (charging while in use) can affect battery life (is that correct)? Is there any way to avoid charging while the phone is on and connected via USB?
I have an Android 4.0.3 phone without root access so can't test any of this but let me point you to
/sys/class/power_supply/battery/ which gives some info/control over charging issues. In particular there is
charging_enabled which gives the current state (0 not charging, 1 charging) and may be writable on some phones?
$ adb shell $ cat /sys/class/power_supply/battery/charging_enabled 1
There is also a file
charger_control which sounds promising and is writable by root but I've found no documentation on it.
Someone has requested this feature as an enhancement on the google developer forum but so far without response: http://code.google.com/p/android/issues/detail?id=30612
This is very dependent on the battery driver found in the kernel for said device.
Unlike Galaxy S 2, that uses the TI battery driver which does not have that capability to be able to write out the value to the
For the MSM7x27 line of chipsets, Qualcomm to you and me, such as MSM7227 or MSM7627, for example, Europa (Galaxy 5), Zte Blade, as they use the generic MSM battery driver, which was rather easy to work with.
I have the open sourced project hosted on Github that does this exactly that, by selectively activating the charge or using it as ordinary usb without charging, it does require root though.
You can find an interesting article about phone batteries at http://batteryuniversity.com/learn/article/how_to_prolong_lithium_based_batteries.
Basically, the more heat, the less lifetime your battery will have. My suggestion would be to charge it while the phone is shut down, that way there is no drain or load on the battery other than charging.