我目前使用HTC Wildfire手机的接近传感器。问题是如果传感器前面1厘米内有一个物体,它只会返回一个布尔值。
所以,我想问一下市场上是否有一款Android手机,它有一个能够返回实际距离值(cm)而不是布尔值的接近传感器。
谢谢
答案 0 :(得分:2)
是的,可以从手机表面获得实际距离。
事实上,所有硬件传感器都提供此信息。但不幸的是,Android中定义的传感器API将接近度定义为布尔值,即NEAR(1)OR FAR(0)。
为了从实际距离获得布尔读数,将从接近传感器硬件获得的距离与阈值进行比较。这通常在sensor-HAL中完成。
此外,一些光/接近传感器 - 硬件IC本身也提供接近布尔值。在这种情况下,阈值可在硬件中配置。硬件将内部获得的每个样本与阈值进行比较,然后报告布尔值“邻近度”。
无论使用何种传感器硬件, Android(高达v4.1“果冻豆”)都不会将接近距离参数作为传感器API的一部分公开。可以修改传感器-HAL或尝试直接与接近传感器驱动程序交互(通常是sys-fs条目)。