移动设备中的接近传感器 — 类型与工作原理

作者: IT Sectr 发布日期: 2026-03-23 阅读时间: 9 分钟

接近传感器是一种红外传感器,无需物理接触即可检测智能手机屏幕前的物体存在。其主要功能是在通话期间关闭显示屏,以防止脸颊误触并节省电池电量。根据 Google Android Developer Guide, 2024,现代接近传感器可测量 0 到 10 厘米的距离,精度为 0.5 厘米,响应时间小于 50 毫秒。

主要内容

  • 接近传感器 — 红外 (IR) 传感器,可确定 0 到 10 厘米内物体的距离。
  • 工作原理 基于测量反射的红外辐射 — 飞行时间 (ToF) 或三角测量方法。
  • Android API 使用 Sensor.TYPE_PROXIMITY,有两种状态:0(靠近)和 max range(远离)。
  • 传感器功耗 极低 — 约 0.5 毫安,可在不影响续航的情况下工作。
  • 口袋中的屏幕 — 当手机放在口袋或包里时,传感器可防止误触。

手机中的接近传感器是什么

接近传感器是一种非接触式红外传感器,位于智能手机前面板顶部,听筒扬声器旁边。它由红外 LED 和光电探测器(光电二极管或光电晶体管)组成。第一款配备接近传感器的大众智能手机是 Apple iPhone(2007 年)——从那时起,传感器成为所有现代手机的必备组件。

位置和结构

传感器通常隐藏在 屏幕玻璃 下方,仅在特定角度下可见为一个小点。在现代型号中,采用窄方向图(15-30 度)的光学模块,以排除玻璃反射的误读。制造商 — Sharp、ams OSRAM(TMD 系列)、Silicon Labs 及其代工合作伙伴。

参数数值
波长850-940 纳米(不可见红外范围)
范围0-10 厘米
分辨率0.5 厘米
功耗0.3-0.7 毫安
响应时间10-50 毫秒

两种传感器类型

移动设备中使用 分立传感器(独立的红外 LED + 光电二极管芯片)和 集成模块(两个元件在同一芯片上)。集成解决方案(ams TMD2635,尺寸 1×1×0.5 毫米)用于现代旗舰的超薄机身,在电路板上占用最小空间。

红外传感器如何工作

接近传感器的工作原理基于 测量反射红外辐射的强度。红外 LED 发出光脉冲(850-940 纳米),光电二极管测量从物体反射的光量。如果反射信号超过阈值 — 物体被视为靠近(小于 3-5 厘米)。

抑制外部光线

主要技术问题是 太阳光 和其他红外源的干扰。解决方案 — 辐射调制:红外 LED 以 10-100 千赫的频率发射脉冲,光电探测器同步检测信号,滤除直流分量。根据 ams Application Note AN000610 (2024),同步检测方案可将背景光抑制 40-60 分贝。

校准和阈值

触发阈值 由制造商在校准阶段设置,取决于屏幕玻璃的透明度。典型阈值 — 反射对应 2-4 厘米的距离。当手指或耳朵距离小于阈值时,传感器返回值 0(靠近),否则返回最大范围值(取决于型号为 8-10 厘米)。

接近传感器与 ToF 传感器的区别

接近传感器(红外接近)测量反射强度 — 具有两种状态的二进制传感器。飞行时间 (ToF) 测量光到物体并返回的飞行时间,从而实现到几米的精确距离确定。在移动设备中,ToF 传感器(STMicroelectronics 的 VL53L5)用于相机自动对焦和增强现实应用。

何时使用红外接近传感器,何时使用 ToF

对于 通话时关闭屏幕 的任务,简单的二进制红外传感器就足够了 — 其成本为 0.10-0.30 美元,而 ToF 模块为 1-3 美元。ToF 传感器增加了精确的测距功能,但对于基本任务来说是多余的。在一些旗舰产品中(Samsung Galaxy S23 Ultra),使用结合两种技术的组合模块。

参数红外接近ToF 传感器
原理反射强度光飞行时间
范围0-10 厘米0-400 厘米
精度0.5 厘米0.1 厘米
成本$0.10-0.30$1-3
用途通话时屏幕自动对焦、AR

Android 中传感器的编程访问

Android 通过 Sensor.TYPE_PROXIMITY 提供对接近传感器的访问。API 的特点是传感器只返回两个实际有效的值:0(物体靠近)和没有物体时的最大范围值(通常为 5-10 厘米)。内部算法隐藏了信号的模拟特性。

使用传感器的特点

传感器的 二进制特性 意味着应用程序无法获得到物体的精确距离 — 只能获得敏感区域内是否存在障碍物的事实。这是硬件限制。要获得更精确的测量,请使用 ToF 传感器(如果可用)通过标准 TYPE_PROXIMITY API,但在具有 ToF 的设备上,它返回模拟值。

kotlin
val proximitySensor = sensorManager
    .getDefaultSensor(Sensor.TYPE_PROXIMITY)

sensorManager.registerListener(
    object : SensorEventListener {
        override fun onSensorChanged(event: SensorEvent) {
            val distance = event.values[0]
            val maxRange = proximitySensor?.maximumRange ?: 10f

            when {
                distance < maxRange -> lockScreen()
                else -> unlockScreen()
            }
        }

        override fun onAccuracyChanged(
            sensor: Sensor, accuracy: Int
        ) {}
    },
    proximitySensor,
    SensorManager.SENSOR_DELAY_UI
)

唤醒锁和电源管理

注册接近传感器时,如果应用程序需要在屏幕关闭时继续工作(例如通话录音),使用 SCREEN_OFF_WAKE_LOCK 很重要。没有唤醒锁,CPU 可能会进入休眠模式,传感器数据将停止传入。SENSOR_DELAY_UI(200 毫秒)标志对于大多数场景来说足够。

接近传感器在应用程序中的应用

虽然传感器的主要功能是 通话时关闭屏幕,但开发人员发现了更创造性的用途。Glimmer 应用程序使用接近传感器通过手在屏幕前的运动切换歌曲 — 挥动手掌跳过歌曲。电池充电不受影响:传感器的功耗仅为 0.3-0.7 毫安。

  • 自动应答和通话录音 — 应用程序检测到手机靠近耳朵时激活扬声器或录音。
  • 口袋模式 — 手机在口袋时锁定屏幕并关闭振动。传感器每 1-2 秒轮询一次。
  • 靠近预览 — 在图库应用程序中,将手靠近屏幕会显示隐藏的控制元素。
  • 非接触式控制游戏 — 简单游戏,手在传感器前的运动替代按钮按压。

问题和限制

接近传感器的主要问题是使用保护玻璃和外壳时的 误读。一些制造商(Google Pixel 8,2023 年)使用超声波接近传感器代替红外 — 它可以通过任何保护玻璃和任何厚度的屏幕工作,但精度较低且延迟较大(高达 100 毫秒)。厚玻璃(超过 0.5 毫米)会散射红外辐射,导致持续触发。解决方案 — 使用带有传感器精确切口的外壳。第二个缺点 — 无法通过具有可变透明度的 OLED 屏幕(屏下传感器)工作。

屏下接近传感器

2024-2025 年,制造商开始采用 屏下接近传感器,从而将智能手机的上边框缩小到 1-2 毫米。第一款采用屏下接近传感器的量产设备是 Xiaomi 14 Ultra(2024 年),随后是 OnePlus 12 和 Samsung Galaxy S25。该技术使用波长为 940 纳米的红外辐射,可部分穿过 OLED 屏幕的像素。根据 Samsung Display 技术白皮书(2024 年),OLED 对红外辐射的透明度为 15-25% — 足以在屏幕亮度高达 600 坎德拉/平方米时使传感器工作。在更高亮度下,矩阵对红外变得不透明,传感器需要关闭背光 1-2 帧进行测量。

接近传感器的软件模拟

在 Android 上开发应用程序时,模拟器不支持接近传感器 — 需要 通过软件模拟。在物理设备上进行调试时,可以使用 adb 命令:adb shell sendevent /dev/input/eventX 以及相应的 ABS_MT_TOUCH_MAJOR 代码。要在测试中模拟通话期间关闭屏幕,请使用 SensorManager 和 mock 对象,该对象在调用 onSensorChanged 时返回值 0。

测试接近传感器

要在 Android 设备上检查接近传感器,请打开电话应用程序,拨打 *#0*#(在 Samsung 上)并选择传感器选项。将手指靠近屏幕顶部时,传感器值应从 «Far» 变为 «Near»。如果传感器没有反应 — 擦拭屏幕顶部并检查是否有保护玻璃覆盖传感器。在 iPhone 上,通过设置中的系统诊断进行检查。

常见问题解答

为什么通话时屏幕不熄灭?

通常问题在于 保护玻璃或外壳 遮挡了接近传感器。确保听筒扬声器旁边的区域没有被阻挡。如果问题出现在裸机上 — 可能是硬件缺陷或传感器污染。

接近传感器在哪里?

传感器位于 前面板顶部,听筒扬声器旁边。在现代智能手机中,它隐藏在屏幕玻璃下方。用明亮手电筒以一定角度照射可以看到 — 看起来像一个小点或缝隙。

可以校准接近传感器吗?

使用 Android 标准工具 — 不可以。但是,有通过工程菜单(在 Samsung 上拨打 *#0*#)进行测试的应用程序。在某些设备上,可以通过服务模式调整灵敏度。

如何通过接近传感器获得精确距离?

标准接近传感器 API 仅返回 检测事实 — 0 或 maxRange。要获得精确距离,请使用飞行时间传感器(如果设备配备) — 在兼容设备上可通过相同的 TYPE_PROXIMITY 访问。

接近传感器能透过保护玻璃工作吗?

取决于 玻璃的厚度和材料。薄柔性玻璃(0.15-0.2 毫米)不影响工作。厚钢化玻璃(0.5 毫米以上)可能散射红外辐射并导致误触发。建议使用传感器周围有精确切口或黑色边框的玻璃。

总结

  • 接近传感器 — 红外传感器,检测距离屏幕 0-10 厘米内的物体存在。
  • 工作原理 — 测量反射红外辐射,通过同步检测抑制背景光。
  • 二进制特性 — 传感器仅返回两种状态:物体靠近或不存在,无精确距离。
  • Android API — Sensor.TYPE_PROXIMITY,功耗 0.3-0.7 毫安,响应时间 10-50 毫秒。
  • 主要功能 — 通话期间关闭显示屏以防止误触。
  • ToF 传感器 通过测量光飞行时间实现高达 4 米的精确距离测量。
  • 厚保护玻璃和外壳 — 日常使用中接近传感器故障的主要原因。

我们将开发一款交钥匙移动应用程序

IT Sectr自2017年以来为初创企业和企业打造iOS和Android应用程序。我们将为您提供咨询并提出最佳解决方案。

讨论项目

另请阅读