如何在android API 30,android 11中使用硬件属性管理器(android)

yftpprvb  于 2022-12-21  发布在  Android
关注(0)|答案(1)|浏览(291)

现在我试着逃跑

HardwarePropertiesManager hardwarePropertiesManager = getApplicationContext().getSystemService(HardwarePropertiesManager.class);
        hardwarePropertiesManager.getDeviceTemperatures(HardwarePropertiesManager.DEVICE_TEMPERATURE_CPU, HardwarePropertiesManager.TEMPERATURE_CURRENT);

检查CPU使用情况和温度。
但是出现了一个例外,就是

java.lang.RuntimeException: Unable to start activity 
ComponentInfo{com.example.___/com.example.___.MainActivity}: 
java.lang.SecurityException: The caller is neither a device 
owner, nor holding the DEVICE_POWER permission, nor the current 
VrListener.

是否有方法检查cpu温度和cpu使用情况(内存,内核)?

xoefb8l8

xoefb8l81#

如文档所述,HardwarePropertysManager可用于作为设备所有者的应用程序-https://developer.android.com/reference/android/os/HardwarePropertiesManager
您可以尝试从文件阅读数据
系统/类/硬件监视器/硬件监视器X/temp1_input
根据供应商的不同会有一些变化,详细列表请参考https://stackoverflow.com/a/59306562

相关问题