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?
3 Answers
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
-
user1059432, yes. we can change value in /sys/class/power_supply/battery/charger_control to 0. so we have connecting via usb without charging.– xoxol_89Jul 26, 2013 at 11:01
-
1
-
shell@pisces:/sys/class/power_supply $ ls ls ac max170xx_battery usb seems I can't do anything with my battery
max170xx_battery
– GohanNov 10, 2014 at 13:02 -
On OnePlus 3 this path is exactly there and using the Automate app's superuser block on a rooted device I could use this trick not only to tell my battery level while charging but gracefully stop the device being overcharged. The icon will still show the charge symbol, but it is not doing it. The battery even starts to drop after a while.– IkonSep 22, 2017 at 13:44
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.
-
1
-
Actually, he's also asking if it is correct that the battery life can be affected by using it while charging, which increases the heat of the phone so reduces battery life. The article I posted talks about the relation between temperature and battery life.– WeboideMay 29, 2012 at 15:48
-
Oh, my bad. I didn't notice that. :) Well it would have been more apt to state that what you're posting is just "partial answer" etc.– IrfanMay 29, 2012 at 16:03
adb shell dumpsys battery set ac 0; dumpsys battery set usb 0;