Created
January 9, 2017 21:04
-
-
Save ValCanBuild/726f46e1a6817caf5ef6d03596bd3f0a to your computer and use it in GitHub Desktop.
A way to get the CPU temperature from an android device by using the sys/class/thermal/temp command
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public float getCpuTemp() { | |
Process p; | |
try { | |
p = Runtime.getRuntime().exec("cat sys/class/thermal/thermal_zone0/temp"); | |
p.waitFor(); | |
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())); | |
String line = reader.readLine(); | |
float temp = Float.parseFloat(line) / 1000.0f; | |
return temp; | |
} catch (Exception e) { | |
e.printStackTrace(); | |
return 0.0f; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
On modern devices selinux is going to prevent you from accessing this node. Also, how the thermal zones map to actual hardware components depends on the CPU. On one device this might be the CPU diode but on another it could be the battery (or invalid).