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;
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"