Как получить уровень заряда батареи в% в Java независимо от платформы?
Как получить уровень заряда батареи в% в Java независимо от платформы?
Для Windows уже есть вопрос: как получить оставшееся время автономной работы в системе Windows?
И для Mac: получите уровень заряда батареи в Java
Но как я могу сделать это независимо от платформы, чтобы она работала на Windows, Mac, Linux и, возможно, на других платформах?
2 ответа
Нет никакого "независимого от платформы" способа чтения уровня заряда батареи; Такая информация об оборудовании чрезвычайно специфична для ОС. Единственный способ получить "независимый от платформы" интерфейс Java - это написать оболочку JNI для каждой целевой платформы.
(На самом деле, в Linux это довольно просто; вся эта информация отображается в виде текстовых файлов под /proc/acpi/battery
так что вам не понадобится JNI. Я не думаю, что у OS X такая же дружеская презентация, и я совершенно уверен, что у Windows нет.)
Я не думаю, что есть какой-то способ сделать это, когда я писал проект, чтобы получить подробности аппаратного обеспечения Windows, такие как температура процессора, и мне пришлось использовать нативный интерфейс Java с конкретными библиотеками. Получить это для разных версий Windows было не так просто, поэтому я не думаю, что вы можете сделать это.