android - 以编程方式检测 Google Glass 中的过热情况

标签 android google-glass battery

和其他许多人一样,我也面临着谷歌眼镜过热的问题。我的问题是如何在应用程序中检测到它?

我正在查看日志,但没有任何迹象表明它需要在屏幕上显示一条消息。

最佳答案

谷歌眼镜有(至少)两个温度探测器。
一个用于电池,另一个用于CPU 板
您可以将它们作为常规文件阅读。

电池
/sys/devices/platform/omap_i2c.1/i2c-1/1-0055/power_supply/bq27520-0/temp

CPU 板
/sys/devices/platform/notle_pcb_sensor.0/temperature

但请记住,随着新版本的 Google Glass 的发布,这些文件的位置可能会发生变化。

代码(简化版)

private String readTemperature(String path) throws IOException {
    return new BufferedReader(new InputStreamReader(new FileInputStream(new File(path)))).readLine();
}

解释

您将从这些文件中获得的值采用不同的单位。
CPU 板温度必须除以 1000 才能得到以 °C 为单位的温度。
电池温度必须除以 10 才能得到以 °C 为单位的温度。

逻辑猫

logcat 还会在一行日志中每隔几分钟左右为您提供一次温度。
你甚至可以解析它:

I/UserEventService(568):[GlassUserEventPerformanceStats ... battery_temperature_milli_centigrade: 34000 board_temperature_milli_centigrade: 44000 ]

值(value)观

根据我的经验,CPU 板的值可以从 25°C 到 70°C。
如果温度超过 70°C,您的应用或任何 Activity 的应用可能会被系统终止,您会看到消息“Glass 必须冷却才能平稳运行”。

关于android - 以编程方式检测 Google Glass 中的过热情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28053059/

相关文章:

java - 如何在 Github 包中添加我的 Android 库的依赖项?

Android Studio - 离线 Maven 存储库中缺少 Gradle 插件

android - 从版本控制中 checkout 项目失败

android - 使用 GDK 添加共享联系人

css - 奇怪的悬停故障 CSS

java - getStringArrayExtra() 返回 null

读取 Microsoft Word 文档时出现 Android Apache POI 错误 : org. apache.xmlbeans.SchemaTypeLoaderException Cannot resolve type for handle

google-glass - 有人可以为谷歌眼镜教程推荐一个好的链接吗?

android - 如何在我的android应用程序中找出电池的使用情况

ios - 在 iOS 上获取电池健康信息