Bonjour,
Je vais de découverte en découverte avec Delphi 12 CE.
J'ai un code tout simple que j'utilise sous delphi 11 CE pour demander les autorisations, notamment, Lire et écrire des fichiers et enregistrer du son.
Sous delphi 11 lorsque je lance le programme pour la première fois, cela me demande bien les autorisations correspondante.
Sous delphi 12, les autorisations de lecture et écriture des fichiers ne sont pas demandées et apparaissent comme refusées alors que la demande d'autorisation enregistrer du son apparaît bien.
J'ai donc chercher longtemps pourquoi et je me suis aperçu lors d'une fausse manoeuvre que même si les autorisations de lecture et écriture de fichiers apparaissaient comme refusées, je pouvais quand même faire des opérations sur fichier !
Il suffit de cocher les cases correspondantes dans les options du projet et il n'y a plus besoin de demander les autorisations par programme !
J'ai remarqué que les fichiers manifest sont différents selon delphi 11 ou 12. Voici les parties différentes :
Delphi 11 :
Delphi 12
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="32" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Est-ce que ça pourrait venir de android:targetSdkVersion="34" sur la première ligne et android:maxSdkVersion="32" pour les lignes READ et WRITE_EXTERNAL_STORAGE ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="34" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="32" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="32" /> <uses-permission android:name="android.permission.WRITE_SETTINGS" />
Je n'ai pas assez de connaissances sur la syntaxe de ces fichiers pour savoir ce que ça veut dire même si je crois deviner.
C'est assez pénible ces différences sur android selon le compilateur ... déjà ces demandes d'autorisations c'est très pénible.
Merci d'avance pour vos lumières.
Bien cordialement.
Partager