Расположение датчика устройства Samsung Exynos - PullRequest
0 голосов
/ 25 сентября 2018

Я новичок в android dev и хочу задать вопрос

Где я могу получить доступ к датчику в устройстве Samsung Exynos?

Мой термометр LG G5 доступен на cat sys/class/thermal/thermal_zone0/temp но Galaxy Note 9 сообщал о 0 ° C с помощью той же команды.

Не тема, но получить имя процессора также было невозможно.Мой LG G5 сообщил о «Qualcomm Technologies, Inc MSM8996», но моя Galaxy Note 10.1 сообщила «0».

Используемый код: Термометр

private float getCPUTemp() { java.lang.Process p; try { p = Runtime.getRuntime().exec("cat sys/class/thermal/thermal_zone0/temp"); p.waitFor(); java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(p.getInputStream())); String line = reader.readLine(); if (String.valueOf((int)Float.parseFloat(line)).length() == 5) { temp1r = Float.parseFloat(line) / 1000.0f; } else if (String.valueOf((int)Float.parseFloat(line)).length() == 4) { temp1r = Float.parseFloat(line) / 100.0f; } else if (String.valueOf((int)Float.parseFloat(line)).length() == 3) { temp1r = Float.parseFloat(line) / 10.0f; } else if (String.valueOf((int)Float.parseFloat(line)).length() == 2) { temp1r = Float.parseFloat(line);} return temp1r; } catch (Exception e) { e.printStackTrace(); return 65.0f; } };

Название модели процессора

public String getCPUInfo(String key_input) throws java.io.IOException { java.io.BufferedReader br = new java.io.BufferedReader (new java.io.FileReader ("/proc/cpuinfo")); String str; while ((str = br.readLine ()) != null) { String[] data = str.split (":"); if (data.length > 1) { String key = data[0].trim().replace (" ", "_"); if (key.equals ("cpu_model")) key = "cpu_model"; String value = data[1].trim(); if (key.equals (key_input)) value = value.replaceAll ("\\s+", " "); output = value;} } br.close (); return output; };

Используется как String example = getCPUInfo("cpu_model");

...