AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Funciones específicas para móviles / Funciones de permisos
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Pide al usuario que conceda una aplicación Permission. Esta función permite mostrar un mensaje informativo al usuario antes de la solicitud de Permission.
Ejemplo
// Requests permission to access precise device location
// before calling GPSGetPosition
Perm is Permission = PermissionList("android.permission.ACCESS_FINE_LOCATION")
// If the permission has not been granted yet
IF NOT Perm.Granted THEN
// Information message
// Shows the user a message to explain
// why the application requires this permission
Info("xxxx requires this permission")
// Requests the permission
PermissionRequest(Perm, ProcRequestPermission)
INTERNAL PROCEDURE ProcRequestPermission(Perm is Permission)
IF Perm.Granted THEN
MyPosition is geoPosition = GPSGetPosition()
...
END
END
END
Sintaxis

Solicitar una Permission Ocultar los detalles

PermissionRequest(<Permission> , <WLanguage procedure>)
<Permission>: Cadena de caracteres o Permission Variable
Nombre de la Permission a solicitar. Este parámetro puede corresponder a:
  • una cadena de caracteres con el siguiente formato: android.Permission.<NAME>. La lista de permisos del SDK de Android se encuentra en: https://developer.android.com/reference/android/Manifest.Permission.
  • una variable de tipo Permission.
  • una de las siguientes constantes:
    permBackgroundLocationPermission para acceder a la ubicación del dispositivo cuando la aplicación se ejecuta en el Background.
    Atención: Esta Permission debe solicitarse individualmente y después de que se concedan las permLocation o permFineLocation Permission s.
    permCameraPermission para acceder a la(s) cámara(s) del dispositivo.
    permFineLocationPermission para acceder a la ubicación precisa del dispositivo.
    permLocationPermission para acceder a la localización del dispositivo.
    permManageExternalStoragePermission para gestionar el almacenamiento externo. Si se solicita esta Permission, una ventana del sistema solicitará al usuario que permita a la aplicación acceder a los archivos del almacenamiento externo sin restricciones.
    permReadContactPermission para leer los contactos.
    permReadPhoneStatePermission para acceder a la información de Phone.
    permRecordAudioPermiso para los flujos de audio de Record.
    permSendSMSPermission para el envío de SMS.
    permWriteContactPermission para modificar los contactos.
    permWriteExternalStoragePermission para escribir en la memoria externa.
<WLanguage procedure>: Nombre de Procedure
Nombre del procedimiento WLanguage ("callback") al que se llama cuando se aprueba la solicitud de Permission. Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Result>)
donde <Resultado> es un Permission Variable. El resultado de la solicitud Permission se asigna al Concedido Property.

Solicitar varios permisos simultáneamente Ocultar los detalles

PermissionRequest(<Permissions> , <WLanguage procedure>)
<Permissions>: Array
Permisos solicitados. Este parámetro puede corresponder a:
  • una array de cadenas con el siguiente formato: android.Permission.<NAME>
  • una array de variables Permission.
<WLanguage procedure>: Nombre de Procedure
Nombre del procedimiento WLanguage ("callback") al que se llama cuando se aprueba la solicitud de Permission. Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure name>(<Result>)
donde <Resultado> es una array de variables Permission. Para cada Permission, el resultado de la petición Permission se asigna al Concedido Property.
Observaciones
  • El permiso permLocationBackground o "android.permission.ACCESS_BACKGROUND_LOCATION" debe solicitarse individualmente y después de conceder los permisos que corresponden a las constantes permLocation o permFineLocation.
  • La Permission debe haber sido declarada en el manifiesto de solicitud. De lo contrario, se producirá un error fatal.
  • No es necesario llamar a PermissionRequest para los permisos "Normal" (a diferencia de los permisos "peligrosos") porque se conceden automáticamente cuando se instala la aplicación, si se han declarado en el manifiesto de la aplicación.
  • En el caso de los Permission s "peligrosos" (acceso a la ubicación del dispositivo, cámara, micrófono, etc.), el Android framework solicita automáticamente el Permission cuando se utiliza una función relevante. Sin embargo, PermissionRequest puede utilizarse cuando, por ejemplo, se desea mostrar un mensaje informativo al usuario antes de solicitar un Permission.
  • Si la Permission ya ha sido concedida, no se mostrará ninguna ventana.
  • ATENCIÓN: Dado que PermissionRequest puede mostrar una ventana para que el usuario apruebe la solicitud Permission, esta función debe ser llamada desde la aplicación principal thread.
  • Para get la lista de permisos declarados por la aplicación, utilice PermissionList.
Clasificación Lógica de negocio / UI: Código neutro
Componente: wd290android.aar
Versión mínima requerida
  • Versión 26
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 27/05/2022

Señalar un error o enviar una sugerencia | Ayuda local