Définition
Pour des raisons de sécurité on n’a pas accès par défaux aux fonctionnalité du système android. Pour y avoir accès il faut demander explicitement l’acces la fonctionnalité que l’on veux l’utiliser ce qu’on appelle un permission
Déclarer des permissions
Pour déclarer une permission on utilise la balise user-permision dans le ficher android.manifeste.xml sous cette forme :
<manifest>
<uses-permission android:name="android.permission.nom_de_permission" />
<application ...>
...
</application>
</manifest>
Requête pour les permissions dangereuses
Pour certaines permissions declaré dangereuses , la déclaration dans le manifeste ne sera pas suffissant pour avoir accès la fonctionalité . Pour y avoir accès il faut faire un requête à l’utilisateur pour qu’il donne son accord pour utiliser la fonctionalité
Pour faire la requête on utilise la fonction : registerForActivityResult de cette façon :
var is_allowed =false registerForActivityResult(ActivityResultContracts.RequestPermission()){
is_allowed = it
}.launch(Manifest.permission.nom_de_la_permission)
Il est aussi possible de plusieurs demande en une requête de cette façon :
var is_alloweds = mapOf<String , Boolean>() registerForActivityResult(ActivityResultContracts.RequestMultiplePermissions()){
is_alloweds = it
}.launch(arrayOf( Manifest.permission.nom_de_la_permission1 , Manifest.permission.nom_de_la_permission2 , ... ))