Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
En su lugar, usa la API de sensores de UWP.
La API de sensor basada en COM está en desuso y no debe usarse en nuevas aplicaciones. No se planean características ni mejoras adicionales y el soporte técnico será limitado.
Sensor API proporciona un método que puede usar para solicitar al usuario permisos para usar un sensor o una colección de sensores.
Dado que los sensores pueden revelar información confidencial, Windows requiere que los usuarios habiliten sensores antes de que el programa pueda acceder a los datos.
Es posible que desee solicitar permiso cuando quiera usar sensores para los que el SensorState actual está SENSOR_STATE_ACCESS_DENIED.
Para solicitar permisos, llame al método ISensorManager::RequestPermissions . Al llamar a este método, Windows abre el cuadro de diálogo Habilitar sensores para pedir al usuario que habilite los sensores solicitados. Este cuadro de diálogo proporciona al usuario los nombres de los sensores solicitados. El usuario puede elegir una de las siguientes opciones:
- Habilite estos sensores.
- No habilite estos sensores.
- Abra el Panel de control para obtener más opciones.
Si un usuario elige No habilitar estos sensores, Windows no volverá a mostrar el cuadro de diálogo Habilitar sensores para esos sensores concretos, incluso si el programa llama a RequestPermissions. Si el usuario elige cualquier otra opción, Windows permitirá que se muestre el cuadro de diálogo cuando se solicite. Si la llamada a RequestPermissions contiene algunos sensores que el usuario ha elegido previamente para mantener deshabilitado, sensor API quitará estos sensores de la lista de sensores que ve el usuario.
Comportamiento modal o sin modo
El método RequestPermissions toma un argumento booleano que determina si el cuadro de diálogo Habilitar sensores se muestra como una ventana modal o modeless. Esta configuración también afecta a si el comportamiento del código de retorno del cuadro de diálogo es sincrónico o asincrónico.
Cuando es modal, el cuadro de diálogo tiene el foco exclusivo entre las ventanas de la aplicación hasta que el usuario elige una opción y el código de retorno HRESULT de la llamada a RequestPermissions indica la opción del usuario. Cuando se modela, el cuadro de diálogo no tiene el foco exclusivo y la llamada a RequestPermissions devuelve inmediatamente. En este caso, el código de retorno indica si el método se realizó correctamente, pero no se puede usar para determinar la elección del usuario. A continuación, puede determinar qué sensores se han habilitado controlando el evento OnStateChanged y comprobando cada sensor para SENSOR_STATE_READY.
Para obtener más información sobre los códigos de retorno, consulte la página de referencia RequestPermissions .
Procedimiento recomendado: Evitar múltiples llamadas a RequestPermissions mediante ventanas sin modalidad
Las llamadas repetidas a RequestPermissions mostrarán varias instancias del cuadro de diálogo Habilitar estos sensores y pueden inundar potencialmente la pantalla con cuadros de diálogo, lo que da lugar a una experiencia de usuario deficiente. Si cree que después de la primera llamada a RequestPermissions, es posible que se instalen otros sensores de ubicación, que requieran otra llamada a RequestPermissions, debe llamar a RequestPermissions modally o esperar hasta que se instalen todos los sensores de ubicación para realizar una llamada a modeless.