我正在开发一个BB10应用程序,当用户在打电话时将手机举到他/她的脸上时,它需要能够使用禁用屏幕。
当用户将电话举到他/她的脸上时,我如何判断?
发布于 2015-04-09 17:33:21
要从电话中检测用户的接近程度,可以使用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函数。
https://stackoverflow.com/questions/29545214
复制相似问题