Nowadays lithium batteries are usually intelligent, using a primitive micro-controller, and regulate themselves - and tell Android what their charge level and other status is. Also the battery management on Android is quite complicated and low level to ensure the best use of the battery. So no, I don't think there are any public APIs available to do what you want. The behaviour is probably down to the fact that Android can't cope with a dumb power source and makes an assumption that it is a battery that discharges over time regardless of its terminal voltage.