Li-ion二次電池は非常に危険なバッテリーである事が重ねて語られて居ます。そこで安全に使用するためにスマート・バッテリー化されており、充電回路とセルが通信しながら充放電を行う設計になっています。
スマート・バッテリーはSmart Batttery Forumにより仕様が定められており、それらはSBS Specificationsページで自由に読むことができます。
SBSはAPIも定めており、それらはWindowsの場合ACPI経由でアクセスすることができます。Linuxの場合はsys fs経由のアクセスとなります。仕様はkernel documentsのpower supply classで定められています。プログラムが参照する場合は /sys/class/power_supply/バッテリー名/の下にステータスを見ることが出来ます。
AndroidはLinuxと同じです。