如何检测用户何时将手机靠近 head/ear 并转动 off/disable 屏幕?

How do I detect when a user is holding their mobile to their head/ear and turn off/disable the screen?

Windows 10 个移动应用程序。我通过内部扬声器播放音频,但我想在用户 head/ear 面前关闭屏幕(就像 phone 应用程序所做的那样)。

我的问题是屏幕一直亮着,并且触发了不需要的触摸事件。内置的 Phone 调用应用程序执行此操作,因此我假设我可以访问相同的 API.

您可以附加到 ProximitySensor.ReadingChanged event andm read the ProximitySensorReading 然后您可以获得 DistanceInMillimeters

它给出了从接近传感器到检测到的物体的距离。

ProximitySensor.CreateDisplayOnOffController 将为您管理:

displayController = sensor.CreateDisplayOnOffController();

只要您的 displayController 存在,ProximitySensor 就会根据接近度管理屏幕。当您的应用处理完要保护的音频后,释放 displayController。

有关完整演示,请参阅 https://github.com/Microsoft/Windows-universal-samples/tree/master/Samples/ProximitySensor 的接近传感器示例中的场景 3,包括如何找到接近传感器。