HardwarePropertiesManager


public class HardwarePropertiesManager
extends Object

java.lang.Object
   ↳ android.os.HardwarePropertiesManager


The HardwarePropertiesManager class provides a mechanism of accessing hardware state of a device: CPU, GPU and battery temperatures, CPU usage per core, fan speed, etc.

Summary

Constants

int DEVICE_TEMPERATURE_BATTERY

Temperature of battery in Celsius.

int DEVICE_TEMPERATURE_CPU

Temperature of CPUs in Celsius.

int DEVICE_TEMPERATURE_GPU

Temperature of GPUs in Celsius.

int DEVICE_TEMPERATURE_SKIN

Temperature of device skin in Celsius.

int TEMPERATURE_CURRENT

Get current temperature.

int TEMPERATURE_SHUTDOWN

Get shutdown temperature threshold.

int TEMPERATURE_THROTTLING

Get throttling temperature threshold.

int TEMPERATURE_THROTTLING_BELOW_VR_MIN

Get throttling temperature threshold above which minimum clockrates for VR mode will not be met.

float UNDEFINED_TEMPERATURE

Undefined temperature constant.

Public methods

CpuUsageInfo[] getCpuUsages()

Return an array of CPU usage info for each core.

float[] getDeviceTemperatures(int type, int source)

Return an array of device temperatures in Celsius.

float[] getFanSpeeds()

Return an array of fan speeds in RPM.

Inherited methods

Constants

DEVICE_TEMPERATURE_BATTERY

Added in API level 24
public static final int DEVICE_TEMPERATURE_BATTERY

Temperature of battery in Celsius.

Constant Value: 2 (0x00000002)

DEVICE_TEMPERATURE_CPU

Added in API level 24
public static final int DEVICE_TEMPERATURE_CPU

Temperature of CPUs in Celsius.

Constant Value: 0 (0x00000000)

DEVICE_TEMPERATURE_GPU

Added in API level 24
public static final int DEVICE_TEMPERATURE_GPU

Temperature of GPUs in Celsius.

Constant Value: 1 (0x00000001)

DEVICE_TEMPERATURE_SKIN

Added in API level 24
public static final int DEVICE_TEMPERATURE_SKIN

Temperature of device skin in Celsius.

Constant Value: 3 (0x00000003)

TEMPERATURE_CURRENT

Added in API level 24
public static final int TEMPERATURE_CURRENT

Get current temperature.

Constant Value: 0 (0x00000000)

TEMPERATURE_SHUTDOWN

Added in API level 24
public static final int TEMPERATURE_SHUTDOWN

Get shutdown temperature threshold.

Constant Value: 2 (0x00000002)

TEMPERATURE_THROTTLING

Added in API level 24
public static final int TEMPERATURE_THROTTLING

Get throttling temperature threshold.

Constant Value: 1 (0x00000001)

TEMPERATURE_THROTTLING_BELOW_VR_MIN

Added in API level 24
public static final int TEMPERATURE_THROTTLING_BELOW_VR_MIN

Get throttling temperature threshold above which minimum clockrates for VR mode will not be met.

Constant Value: 3 (0x00000003)

UNDEFINED_TEMPERATURE

Added in API level 24
public static final float UNDEFINED_TEMPERATURE

Undefined temperature constant.

Constant Value: -3.4028235E38

Public methods

getCpuUsages

Added in API level 24
public CpuUsageInfo[] getCpuUsages ()

Return an array of CPU usage info for each core.

Returns
CpuUsageInfo[] an array of CpuUsageInfo for each core. Return null for each unplugged core. Empty if CPU usage is not supported on this system.

Throws
SecurityException if something other than the device owner or the current VR service tries to retrieve information provided by this service.

getDeviceTemperatures

Added in API level 24
public float[] getDeviceTemperatures (int type, 
                int source)

Return an array of device temperatures in Celsius.

Parameters
type int: type of requested device temperature, one of DEVICE_TEMPERATURE_CPU, DEVICE_TEMPERATURE_GPU, DEVICE_TEMPERATURE_BATTERY or DEVICE_TEMPERATURE_SKIN. Value is DEVICE_TEMPERATURE_CPU, DEVICE_TEMPERATURE_GPU, DEVICE_TEMPERATURE_BATTERY, or DEVICE_TEMPERATURE_SKIN

source int: source of requested device temperature, one of TEMPERATURE_CURRENT, TEMPERATURE_THROTTLING, TEMPERATURE_THROTTLING_BELOW_VR_MIN or TEMPERATURE_SHUTDOWN. Value is TEMPERATURE_CURRENT, TEMPERATURE_THROTTLING, TEMPERATURE_SHUTDOWN, or TEMPERATURE_THROTTLING_BELOW_VR_MIN

Returns
float[] an array of requested float device temperatures. Temperature equals to UNDEFINED_TEMPERATURE if undefined. Empty if platform doesn't provide the queried temperature. This value cannot be null.

Throws
SecurityException if something other than the device owner or the current VR service tries to retrieve information provided by this service.

getFanSpeeds

Added in API level 24
public float[] getFanSpeeds ()

Return an array of fan speeds in RPM.

Returns
float[] an array of float fan speeds in RPM. Empty if there are no fans or fan speed is not supported on this system. This value cannot be null.

Throws
SecurityException if something other than the device owner or the current VR service tries to retrieve information provided by this service.