Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
518 views
in Technique[技术] by (71.8m points)

hardware - How to get all the thermal information on android programmatically (CPU [all Cores], GPU, Device, etc.)?

I am trying to extract thermal information in an android application programmatically but there is not enough documentation to do so.

The things which I want to extract are like this:

vbal_low - 37.9 C

gold-virt-max-step - 28.2 C

cpu3-silver-lowf - 27.8 C

msm-therm-adc - 26 C

mdm-dsp - usr - 30.1 C

gpu0-lowf - 27.5 C

wlan-lowf - 28.1 C

and there are like other 50 or so temperature values, how to do so?

question from:https://stackoverflow.com/questions/65643038/how-to-get-all-the-thermal-information-on-android-programmatically-cpu-all-cor

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
public float thermalTemp(int i) {
        Process process;
        try {
            process = Runtime.getRuntime().exec("cat sys/class/thermal/thermal_zone"+i+"/temp");
            process.waitFor();
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            String line = reader.readLine();
            if(line!=null) {
                float temp = Float.parseFloat(line);
                return temp / 1000.0f;
            }else{
                return 51.0f;
            }
        } catch (Exception e) {
            e.printStackTrace();
            return 0.0f;
        }
    }
    public String thermalType(int i) {
        Process process;
        String line = null;
        try {
            process = Runtime.getRuntime().exec("cat sys/class/thermal/thermal_zone" + i + "/type");
            process.waitFor();
            BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
            line = reader.readLine();

        } catch (Exception e) {
            e.printStackTrace();
        }

        return line;
    }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...