Condividi tramite


Gestione delle autorizzazioni utente

L'API Sensor fornisce un metodo che è possibile usare per richiedere all'utente le autorizzazioni di usare un sensore o una raccolta di sensori.

Poiché i sensori possono rivelare informazioni riservate, Windows richiede che gli utenti abilitino i sensori prima che il programma possa accedere a qualsiasi dato.

È possibile richiedere l'autorizzazione quando si desidera usare sensori per i quali sensorState corrente è SENSOR_STATE_ACCESS_DENIED.

Per richiedere le autorizzazioni, chiamare il metodo ISensorManager::RequestPermissions . Quando si chiama questo metodo, Windows apre la finestra di dialogo Abilita sensori per richiedere all'utente di abilitare i sensori richiesti. Questa finestra di dialogo fornisce all'utente i nomi dei sensori richiesti. L'utente può scegliere una delle opzioni seguenti:

  • Abilitare questi sensori.
  • Non abilitare questi sensori.
  • Aprire Pannello di controllo per altre opzioni.

Se un utente sceglie Non abilitare questi sensori, Windows non visualizzerà di nuovo la finestra di dialogo Abilita sensori per i sensori specifici, anche se il programma chiama RequestPermissions. Se l'utente sceglie qualsiasi altra opzione, Windows consentirà di visualizzare la finestra di dialogo quando richiesto. Se la chiamata a RequestPermissions contiene alcuni sensori che l'utente ha scelto in precedenza di mantenere disabilitato, l'API sensore rimuoverà questi sensori dall'elenco dei sensori visualizzati dall'utente.

Il metodo RequestPermissions accetta un argomento booleano che determina se la finestra di dialogo Abilita sensori viene visualizzata come finestra modale o non modale. Questa impostazione influisce anche sul comportamento del codice restituito della finestra di dialogo è sincrono o asincrono.

Quando modale, la finestra di dialogo ha lo stato attivo esclusivo tra le finestre dell'applicazione fino a quando l'utente non sceglie un'opzione e il codice restituito HRESULT dalla chiamata a RequestPermissions indica la scelta dell'utente. Se non è possibile, la finestra di dialogo non ha lo stato attivo esclusivo e la chiamata a RequestPermissions viene restituita immediatamente. In questo caso, il codice restituito indica se il metodo è riuscito, ma non può essere usato per verificare la scelta dell'utente. È quindi possibile determinare quali sensori sono stati abilitati gestendo l'evento OnStateChanged e controllando ogni sensore per SENSOR_STATE_READY.

Per altre informazioni sui codici restituiti, vedere la pagina di riferimento RequestPermissions .

Procedura consigliata: evitare più chiamate senza modalità a RequestPermissions

Le chiamate senza modalità ripetute a RequestPermissions visualizzano più istanze della finestra di dialogo Abilita questi sensori e possono potenzialmente inondare lo schermo con finestre di dialogo, con conseguente scarsa esperienza utente. Se si ritiene che dopo la prima chiamata a RequestPermissions, altri sensori di posizione potrebbero essere installati, richiedendo un'altra chiamata a RequestPermissions, è necessario chiamare RequestPermissions in modo modificato o attendere fino a quando non vengono installati tutti i sensori di posizione per effettuare una chiamata senza modalità.

Privacy e sicurezza nella piattaforma sensore e posizione

Richiesta di autorizzazioni utente