Как узнать температуру процессора в Android

Тип датчика TYPE_TEMPERATURE устарел [начиная с Android 2.3], вероятно, который давал информацию о температуре процессора. Теперь у нас есть тип датчика TYPE_AMBIENT_TEMPERATURE, который будет сообщать нам комнатную температуру (ни одно из моих использований, & кстати, не все устройства и версии Android поддерживают это)

Я проверил несколько приложений, которые измеряют температуру процессора. Вероятно, они читают системные файлы. Я пытался найти, на некоторых устройствах я могу найти его по следующему пути:

sys/devices/virtual/thermal/thermal_zone0/temp

Бит структуры варьируется от поставщика к поставщику & также единица измерения. отлично! Но на многих устройствах я просто не могу найти такие файлы & в тех же устройствах эти приложения работают! Интересно, как!

Как мы можем измерить температуру процессора в Android?

Ответ 1

Я использовал следующий путь:

sys/class/hwmon/hwmonX/temp1_input

это работает на большинстве телефонов

Ответ 2

Устаревший не равно удален! Если вы обнаружите, что устройство все еще предлагает устаревший тип датчика, продолжайте и продолжайте использовать его.

Одной из причин того, что устаревшее название датчика устарело, было то, что, увидев датчик температуры, люди ожидали, что температура будет соответствовать температуре окружающего воздуха. Однако во многих случаях датчик был частью/настолько близок к процессору, что в конечном итоге отражал температуру процессора.

Добавив новый (дополнительный) тип датчика, который в явном виде соответствует температуре воздуха, можно лучше управлять этим ожиданием:

  • если вы хотите температуру воздуха, используйте новый датчик, если он доступен
  • если вам все равно, что вы измеряете (но в большинстве практических случаев это приведет к значительному влиянию температуры процессора), используйте устаревший датчик, если он доступен