Я работаю над приложением BB10, которое должно быть в состоянии отключить экран когда пользователь держит телефон лицом к лицу во время разговора.
Как я могу узнать, когда пользователь подносит телефон к лицу?
Чтобы определить близость пользователя от телефона, вы можете использовать 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
функция, чтобы сказать, когда устройство близко к лицу пользователя. Обратите внимание, что расстояние, определенное как «близко», может отличаться для разных устройств.
bool isClose = proximitySensor->reading()->close();
Кроме того, если вы не хотите реагировать на изменения в чтении, вы можете пропустить подключение readingChanged
сигнал и использовать close
функционировать независимо.