检测用户离屏幕的距离

Detect user proximity from the screen

我正在开发一个 BB10 应用程序,当用户在通话期间将 phone 的脸举到 his/her 时,它需要能够

我如何判断用户何时将 phone 举到 his/her 脸?

要从 phone 检测用户的接近度,您可以使用 QProximitySensor

为了使用它,您需要将这些行添加到项目的 .pro 文件中:

CONFIG += mobility
MOBILITY += sensors

将必要的包含添加到 .cpp 和 .h 文件中:

#include <QtSensors/QProximitySensor>
using QtMobility::QProximitySensor;

#include <QtSensors/QProximityReading>
using QtMobility::QProximityReading;

在.h 文件中定义接近传感器。在构造函数和析构函数中创建和销毁传感器。

通话开始时,将传感器的 readingChanged 功能连接到您打算处理读数的传感器,然后激活它:

connect(proximitySensor, SIGNAL(readingChanged()), this, SLOT(checkReading()));
proximitySensor->setActive(true);

通话结束后,关闭传感器:

proximitySensor->setActive(false);

最后,使用读数的close功能来判断设备何时靠近用户的脸。请注意,定义为 "close" 的距离对于不同的设备可能会有所不同。

bool isClose = proximitySensor->reading()->close();

或者,如果您不想对读数的变化采取行动,您可以跳过连接 readingChanged 信号并独立使用 close 功能。