Problème d'accès à GetSharedDocumentsPath sur Android
Bonsoir à tous,
j'ai des difficultés à écrie un fichier dans le répertoire Documents sur Android. J'ai fait plusieurs tentatives avec les variables systèmes. Ma dernière :
NomMabaseExportee := System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetSharedDocumentsPath, 'Base.csv');
Est ce que quelqu'un sait comment on peut écrire dans le répertoire Documents ou le répertoire Téléchargement éventuellement ?
Merci pour votre aide.
Pascal
Probleme pour acceder a mon fichier
Bonsoir,
voici mon code en me basant sur le code qu'on m'a donné ci-dessus :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| {$IFDEF ANDROID}
function TfrmParametres.PermissionAndroid : boolean;
begin
PermissionsService.RequestPermissions(['android.permission.WRITE_INTERNAL_STORAGE'],
procedure(const APermissions: TClassicStringDynArray;
const AGrantResults: TClassicPermissionStatusDynArray)
begin
if (Length(AGrantResults) = 1) and
(AGrantResults[0] = TPermissionStatus.Granted) then
begin
// autorisation reçue, faire ce qu'on ferait si on n'était pas sous Android
end
else
begin
// Pas d'autorisation, c'est triste, mais c'est son droit
end;
end,
procedure(const APermissions: TClassicStringDynArray;
const APostRationaleProc: TProc)
begin
// affiche un message à l'utilisateur pour justifier de la demande de permission (par exemple ShowMessage)
// appelle APostRationaleProc en sortie (sur le bouton du ShowMessage par exemple)
end);
result:=PermissionsService.IsPermissionGranted('android.permission.WRITE_INTERNAL_STORAGE');
end;
{$ENDIF} |
J'ai inventé android.permission.WRITE_INTERNAL_STORAGE en passant en revue toutes les constantes définies, mon but c'est de pouvoir écrire dans le répertoire "Documents" de mon téléphone.
Un petit coup de main s'il vous plaît.
Merci d'avance pour partager vos connaissances.
Pascal