2014-07-17 162 views
11

傳感器類型TYPE_TEMPERATURE已被棄用[自Android 2.3以來]可能是提供有關CPU溫度的信息。 現在我們有傳感器類型TYPE_AMBIENT_TEMPERATURE這將爲我們提供室溫(不關我的使用,& BTW不是所有的設備&/Android的版本支持)如何在Android中獲取CPU溫度

我檢查衡量CPU溫度幾個應用程序。可能他們正在閱讀系統文件。我試圖定位,在一些設備中我能夠內找到它以下路徑:

sys/devices/virtual/thermal/thermal_zone0/temp 

結構位從供應商而異給供應商&也測量單位。精細! 但在很多設備中,我無法找到這些應用程序工作在相同設備中的任何此類文件&!我想知道,怎麼樣!

我們如何測量Android中的CPU溫度?

+0

工作。 –

回答

2

已棄用不等於刪除!如果您發現設備仍然提供不推薦使用的傳感器類型,請繼續並繼續使用它。

摒棄舊傳感器名稱的部分原因是,在看到溫度傳感器時,公衆期望溫度應該是環境空氣的溫度。然而,在許多情況下,傳感器是CPU的一部分/如此接近CPU,因此它最終主要反映了CPU溫度。

通過添加新的(可選)傳感器類型,它是明確的空氣溫度,這種期望可以更好地管理:

  • ,如果你想的空氣溫度,使用(如果可用)
  • 如果新的傳感器你不關心你測量什麼的(但在大多數實際情況將結束與一些由CPU溫度嚴重影響),使用(如果可用)
+1

同意您的答案,以獲得CPU溫度我可以使用不推薦使用的傳感器(如果可用)。但大多數設備不支持它,並在相同的設備CPU溫度測量應用程序工作,顯示CPU溫度而不是環境溫度[正確的行爲];正如我在我的問題中提到的,我也爲它找到了方法,但似乎並不完全可靠。即跟蹤系統文件,將供應商變更爲供應商 – jQueen

3

我用下面的路徑已過時的傳感器:

sys/class/hwmon/hwmonX/temp1_input 

與此`SYS /設備/虛擬/熱/ thermal_zone0/temp`比Manuel的`SYS /班/ hwmon/hwmonX/temp1_input`對我有更多的成功的大多數手機

+0

對於華爲Honor 4C不是:沒有這樣的文件或目錄。 – t0m

+0

這不適用於Samsung Galaxy Core Prime,但OP的'sys/devices/virtual/thermal/thermal_zone0/temp'。 :-) –

+0

在大多數手機真的看在hwmon文件夾裏面,你會發現cpu溫度。但是如何知道hwmonX究竟是你的CPU? –