Как получить температуру процессора?

Я знаю, что как-то можно получить температуру процессора, потому что я загрузил приложение, которое делает это на невзвешенном устройстве. Как это делается?

Edit: Приложение называется A1 CPU Tool. Я несколько дней искал ответ.

Edit2: Вот код, который я пробовал

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); Sensor TempSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE); mSensorManager.registerListener(temperatureSensor, TempSensor, SensorManager.SENSOR_DELAY_FASTEST); } private SensorEventListener temperatureSensor = new SensorEventListener(){ @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } @Override public void onSensorChanged(SensorEvent event) { // TODO Auto-generated method stub float temp = event.values[0]; Log.i("sensor", "sensor temp = " + temp); } }; 

Если устройство не выдает температуру процессора через любой температурный датчик (то есть, запрашивая датчик типа TEMPERATURE или AMBIENT_TEMPERATURE вы ничего не получите), вы не сможете его прочитать стандартным образом. Конечно, это ничего не говорит о том, чтобы делать это нестандартным образом, который может быть подходящим для вашего приложения, если он не подходит для широкого распространения.

Вы можете прочитать файлы устройств в /sys/devices/platform если знаете, где искать. Если вы запустите adb shell и cd в эту папку, у вас есть неплохие шансы find | grep temp find | grep temp дает вам файлы, представляющие датчики температуры.

Эти файлы также не предназначены только для процессора – например, к датчику температуры батареи для моего Google Glass можно получить доступ, прочитав /sys/devices/platform/omap_i2c.1/i2c-1/1-0055/power_supply/bq27520-0/temp .

Глядя на этот путь, понятно, почему вы не должны этого делать и ожидаете, что он будет работать на всех устройствах – пути, а также форматы файлов будут отличаться от устройства к устройству. Однако в крайнем случае это быстрый и грязный способ выполнить работу.

http://repo.xposed.info/module/org.narcotek.cputemp

Прочтите это внимательно, я думаю, это может вам помочь.

Я использую приложение под названием cool tool; Удивительно, что у него много функций … Затем я включил пользовательские ярлыки 1 и следил за ссылкой. Я изменил путь к /sys/class/thermal/thermal_zone0/temp и была эта опция, которую я не изменил, refer:(/d+)/d{3} И также шаблон замены: 1 $ Надеюсь, это поможет использовать классный инструмент Если вам нужно!

Датчик температуры, даже если он существует, если для температуры батареи и температуры процессора.

Большинство телефонов включают только датчик температуры процессора Sensor.TYPE_TEMPERATURE, который устарел

Вы должны использовать Sensor .TYPE_AMBIENT_TEMPERATURE который, как мне кажется, не имеет большого количества телефонов.

Для получения дополнительной информации, пожалуйста,

http://developer.android.com/reference/android/hardware/Sensor.html#TYPE_AMBIENT_TEMPERATURE