FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Solicitar Permisos Al Usuario En Tiempo De Ejecución
Hola a todos en ésta gran comunidad de programación en éste gran y poderoso lenguaje que es Delphi...
Hoy vengo haciendo éste hilo con la finalidad de proporcionar información sobre cómo solicitar permisos al usuario en tiempos de ejecución. Cómo sabrán ésto aplica solamente para dispositivos móviles con Sistema Operativo Android 5.0 y superiores.... Bueno, para no hacerla tan tardada se debe hacer lo siguiente: -Se deben asignar los permisos que la aplicación vaya a utilizar solamente en las configuraciones del proyecto. -En la parte de implementation, en Uses les sugiero agregar las siguientes unidades: EJEMPLO DE CÓDIGO: // HACER USO DE LOS PERMISOS Implementation Uses System.Permissions, System.IOUtils, {$IFDEF ANDROID} Androidapi.JNI.Os, Androidapi.JNI.JavaTypes, Androidapi.Helpers, {$ENDIF} FMX.DialogService; {$R *.fmx} -Una vez hecho lo anterior, ya es de manera personal y opcional en qué parte de su aplicación final se le pedirá al usuario aceptar los permisos que correspondan, en mi caso, es un editor de código HTML, entonces cuando el usuario selecciona la opción "guardar como", se le pide el permiso para escribir en el almacenamiento. El cual se expresa en código de ésta manera: //============================= PERMISO PARA ESCRIBIR EN EL ALMACENAMIENTO EXTERNO... {$IFDEF ANDROID} PermissionsService.RequestPermissions([JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)], //==================== CÓDIGO PARA QUE LA APLICACION ACTÚE SEGUN EL USUARIO HAYA CONCEDIDO EL PERMISO========================== procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>) begin if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then begin TDialogService.ShowMessage('¡Los permisos al almacenamiento han sido concedidos por el usuario!'); //PARTE DONDE SE CONCEDE EL PERMISO end else //FIN DE LA CONDICIONANTE... begin TDialogService.ShowMessage('¡Los permisos al almacenamiento han sido negados por el usuario!');// PARTE DONDE NO SE CONCEDE EL PERMISO end; {$ENDIF} end) NOTA: De igual manera les comparto un ejemplo para saber si algún permiso ha sido concedido por el usuario y que de lo contrario se le requiera al usuario o que se haga otra cosa en la aplicación... EJEMPLO DE CÓDIGO: //CÓDIGO PARA SABER SI UN PERMISO FUE OTORGADO POR EL USUARIO... if PermissionsService.IsPermissionGranted(JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNA L_STORAGE)) =true then //==================================================================================================== ===========0 begin //SI EL PERMISO SE CONCEDIÓ PASA A LA PARTE VERDADERA Showmessage('El permiso ya fue concedido con anterioridad'); end else begin // SI EL PERMISO NO FUE OTORGADO, PASA A LA PARTE FALSA DONDE SE PIDE AL USUARIO CONCEDERLO... //============================= PERMISO PARA ESCRIBIR EN EL ALMACENAMIENTO EXTERNO... {$IFDEF ANDROID} PermissionsService.RequestPermissions([JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)], //==================== CÓDIGO PARA QUE EL PROGRAMA ACTÚE SEGUN EL USUARIO HAYA CONCEDIDO EL PERMISO========================== procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>) begin if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then begin showmessage('Permiso concedido'); end else //FIN DE LA CONDICIONANTE... begin TDialogService.ShowMessage('¡Los permisos al almacenamiento han sido negados por el usuario!'); end; {$ENDIF} end) Recordatorio: *TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE>>>>> PERMISO DE ESCRITURA EN EL ALMACENAMIENTO *TJManifest_permission.JavaClass.CAMERA>>>>>>>PERMISO PARA ACCEDER A LA CÁMARA *TJManifest_permission.JavaClass.RECEIVE_SMS>>>> ACCESO A RECIBIR SMS SI TIENEN LAS SUGERENCIAS DE CÓDIGO ACTIVADAS, LES APARECERÁN LOS PERMISOS QUE VAYA A UTILIZAR SU APLICACIÓN.... ÉXITO EN TODOS SUS PROYECTOS ACTUALES Y FUTUROS, ESPERO Y LA INFORMACIÓN ANTERIOR LES SEA DE AYUDA... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Solicitar permisos en Android 6 | ElGatitoTapatio | FireMonkey | 2 | 19-01-2017 19:06:12 |
validacion de usuarios y permisos para cada usuario? | lince_36 | JAVA | 7 | 27-07-2010 18:11:14 |
Como saber si el usuario logueado tiene permisos administrativos | JoAnCa | Varios | 3 | 11-11-2008 21:15:42 |
Permisos del "usuario seguro" para Firebird Server | rolandoj | Firebird e Interbase | 0 | 25-09-2008 14:10:18 |
Que el usuario dibuje en tiempo de ejecución | Cannabis | Gráficos | 4 | 17-07-2008 21:23:48 |
|