2015-04-09 19 views

Antwort

3

Um die Nähe des Benutzers vom Telefon zu ermitteln, können Sie eine QProximitySensor verwenden.

Um dies zu nutzen, müssen Sie diese Zeilen zu Ihrem Projekt .pro-Datei hinzuzufügen:

CONFIG += mobility 
MOBILITY += sensors 

hinzufügen die notwendige umfasst zum CPP und H-Dateien:

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

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

Definieren Sie den Näherungssensor in der .h-Datei. Erstellen und zerstören Sie den Sensor in Ihren Konstruktor- und Destruktorfunktionen.

Wenn der Anruf beginnt, readingChanged Funktion zum einen Ihre Sensors verbinden, die Sie beabsichtigen, das Lesen zu handhaben, und aktivieren:

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

Wenn der Anruf beendet, deaktivieren Sie den Sensor:

proximitySensor->setActive(false); 

Verwenden Sie schließlich die Funktion close des Lesens, um festzustellen, ob sich das Gerät in der Nähe des Gesichts des Benutzers befindet. Beachten Sie, dass die als "nah" definierte Entfernung für verschiedene Geräte unterschiedlich sein kann.

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

Alternativ, wenn Sie auf Änderungen an der Lesung handeln wollen nicht, können Sie das readingChanged Signal Anschluss überspringen und die close Funktion unabhängig verwenden.

Verwandte Themen