Ver Mensaje Individual
  #5  
Antiguo Hace 1 Semana
dani36652 dani36652 is offline
Miembro
 
Registrado: abr 2019
Posts: 57
Reputación: 6
dani36652 Va camino a la fama
Hola, intentando replicar la problemática en la última versión de Delphi 12.1 la gente de Embarcadero le ha dado solución por lo que para hacer uso del almacenamiento interno deben agregar al uses las unidades Androidapi.JNI.Os, Androidapi.JNI.Provider...

El uso desde Delphi se mantiene igual:

Con el siguiente código verifica el status del permiso MANAGE_APP_ALL_FILES_ACCESS_PERMISSION implementado en Android 11+ y de no tenerlo autorizado se le pedirá al usuario que lo haga.

Código Delphi [-]
if TJEnvironment.JavaClass.isExternalStorageManager then
 begin
 ShowMessage('Si hay acceso al almacenamiento');
 end else
 begin
 intent:=TJIntent.Create;
 //Puede asignar una acción mediante su string
 //intent.setAction(StringToJString('android.settings.MANAGE_APP_ALL_FILES_ACCESS_PERMISSION'));
 intent.setAction(TJSettings.JavaClass.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
 Uri:= TJnet_Uri.JavaClass.parse(StringToJString(Concat('package:',
 JStringToString(TAndroidHelper.Context.getPackageName))));
 intent.setData(Uri);
 TAndroidHelper.Activity.startActivity(intent);
 end;

Recueden tener marcada la casilla del permiso Manage external storage en las configuraciones de su proyecto en el apartado de "Uses Permissions"
Responder Con Cita