Как получить уровень заряда батареи в% в Java независимо от платформы?

Как получить уровень заряда батареи в% в Java независимо от платформы?

Для Windows уже есть вопрос: как получить оставшееся время автономной работы в системе Windows?

И для Mac: получите уровень заряда батареи в Java

Но как я могу сделать это независимо от платформы, чтобы она работала на Windows, Mac, Linux и, возможно, на других платформах?

2 ответа

Нет никакого "независимого от платформы" способа чтения уровня заряда батареи; Такая информация об оборудовании чрезвычайно специфична для ОС. Единственный способ получить "независимый от платформы" интерфейс Java - это написать оболочку JNI для каждой целевой платформы.

(На самом деле, в Linux это довольно просто; вся эта информация отображается в виде текстовых файлов под /proc/acpi/batteryтак что вам не понадобится JNI. Я не думаю, что у OS X такая же дружеская презентация, и я совершенно уверен, что у Windows нет.)

Я не думаю, что есть какой-то способ сделать это, когда я писал проект, чтобы получить подробности аппаратного обеспечения Windows, такие как температура процессора, и мне пришлось использовать нативный интерфейс Java с конкретными библиотеками. Получить это для разных версий Windows было не так просто, поэтому я не думаю, что вы можете сделать это.

Другие вопросы по тегам