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 /sys/module/msm_battery/parameters/usb_chg_enable
file.
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.