Freigeben über


Verwalten von Benutzerberechtigungen

Die Sensor-API stellt eine Methode bereit, mit der Sie den Benutzer zur Eingabe von Berechtigungen für die Verwendung eines Sensors oder einer Sammlung von Sensoren auffordern können.

Da Sensoren vertrauliche Informationen offenlegen können, muss Windows sensoren aktivieren, bevor Ihr Programm auf Daten zugreifen kann.

Möglicherweise möchten Sie die Berechtigung anfordern, wenn Sie Sensoren verwenden möchten, für die der aktuelle SensorState SENSOR_STATE_ACCESS_DENIED ist.

Rufen Sie zum Anfordern von Berechtigungen die ISensorManager::RequestPermissions-Methode auf. Wenn Sie diese Methode aufrufen, öffnet Windows das Dialogfeld Sensoren aktivieren , um den Benutzer aufzufordern, die von Ihnen angeforderten Sensoren zu aktivieren. In diesem Dialogfeld werden dem Benutzer die Namen der von Ihnen angeforderten Sensoren angezeigt. Der Benutzer kann eine der folgenden Optionen auswählen:

  • Aktivieren Sie diese Sensoren.
  • Aktivieren Sie diese Sensoren nicht.
  • Öffnen Sie Systemsteuerung, um weitere Optionen anzuzeigen.

Wenn ein Benutzer diese Sensoren nicht aktivieren auswählt, zeigt Windows das Dialogfeld Sensoren aktivieren für diese bestimmten Sensoren nicht erneut an, auch wenn Ihr Programm RequestPermissions aufruft. Wenn der Benutzer eine andere Option auswähelt, lässt Windows zu, dass das Dialogfeld angezeigt wird, wenn dies angefordert wird. Wenn Ihr Aufruf von RequestPermissions einige Sensoren enthält, die der Benutzer zuvor für deaktiviert ausgewählt hat, entfernt die Sensor-API diese Sensoren aus der Liste der Sensoren, die dem Benutzer angezeigt werden.

Die RequestPermissions-Methode verwendet ein boolesches Argument, das bestimmt, ob das Dialogfeld Sensoren aktivieren als modales oder modusloses Fenster angezeigt wird. Diese Einstellung wirkt sich auch darauf aus, ob das Verhalten des Dialogfelds-Rückgabecode synchron oder asynchron ist.

Wenn modal, hat das Dialogfeld den exklusiven Fokus unter den Anwendungsfenstern, bis der Benutzer eine Option auswäht, und der HRESULT-Rückgabecode aus Ihrem Aufruf von RequestPermissions gibt die Benutzerauswahl an. Wenn kein Modus vorhanden ist, hat das Dialogfeld keinen exklusiven Fokus, und Ihr Aufruf von RequestPermissions wird sofort zurückgegeben. In diesem Fall gibt der Rückgabecode an, ob die Methode erfolgreich war, aber nicht verwendet werden kann, um die Auswahl des Benutzers zu ermitteln. Sie können dann ermitteln, welche Sensoren aktiviert wurden, indem Sie das OnStateChanged-Ereignis behandeln und jeden Sensor auf SENSOR_STATE_READY überprüfen.

Weitere Informationen zu Rückgabecodes finden Sie auf der Referenzseite RequestPermissions .

Bewährte Methode: Vermeiden mehrerer modusloser Aufrufe von RequestPermissions

Wiederholte moduslose Aufrufe von RequestPermissions zeigen mehrere Instanzen des Dialogfelds Diese Sensoren aktivieren an und können den Bildschirm möglicherweise mit Dialogfeldern überfluten, was zu einer schlechten Benutzererfahrung führt. Wenn Sie der Meinung sind, dass nach Ihrem ersten Aufruf von RequestPermissions möglicherweise andere Standortsensoren installiert wurden, die einen weiteren Aufruf von RequestPermissions erfordern, sollten Sie entweder RequestPermissions modal aufrufen oder warten, bis alle Standortsensoren installiert sind, um einen moduslosen Anruf zu tätigen.

Datenschutz und Sicherheit auf der Sensor- und Standortplattform

Anfordern von Benutzerberechtigungen