Android 5.1 Lollipop est une version du système d'exploitation Android publiée en 2015. À partir d'Android 5.1, les applications peuvent demander des permissions pour accéder à certaines fonctionnalités ou données de votre appareil. Par exemple, une application peut demander l'autorisation d'accéder à votre position, d'utiliser l'appareil photo ou d'accéder à vos contacts.
Pour demander une permission dans une application Android, vous pouvez utiliser la méthode requestPermissions de la classe ActivityCompat de la bibliothèque de support Android. Cette méthode prend un objet Activity et un tableau de chaînes représentant les permissions que vous souhaitez demander.
Voici un exemple de demande de la permission CAMERA dans une application Android :
// Check if the camera permission has been granted
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
// If the permission has not been granted, request it
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CAMERA},
REQUEST_CAMERA_PERMISSION);
} else {
// If the permission has already been granted, proceed with the app's logic
// that requires the camera.
}La constante REQUEST_CAMERA_PERMISSION est un entier unique que vous définissez dans votre application. Elle sert à identifier la demande lorsque l'application reçoit le résultat de la demande de permission.
Vous pouvez traiter le résultat de la demande dans la méthode onRequestPermissionsResult de votre Activity. Cette méthode est appelée lorsque l'utilisateur répond à la demande. Vous pouvez y vérifier le résultat et agir en conséquence dans votre application.
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
if (requestCode == REQUEST_CAMERA_PERMISSION) {
// If the request was successful, proceed with the app's logic that requires the camera
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permission was granted, proceed with the app's logic that requires the camera
} else {
// Permission was denied, show a message to the user
Toast.makeText(this, "Camera permission is required to use this feature",
Toast.LENGTH_SHORT).show();
}
}
}N'oubliez pas que, pour demander une permission, vous devez d'abord la déclarer dans le fichier manifeste de l'application. Pour cela, ajoutez un élément uses-permission au fichier manifeste. Par exemple, pour demander la permission CAMERA, ajoutez l'élément suivant au manifeste :
<uses-permission android:name="android.permission.CAMERA" />Lorsqu'une application demande une permission, une boîte de dialogue explique pourquoi elle en a besoin et vous permet d'accorder ou de refuser la demande. Vous pouvez aussi consulter et gérer les permissions des applications dans le menu des paramètres de votre appareil.
Il est important de bien réfléchir aux permissions que vous accordez aux applications : certaines peuvent donner à l'application accès à des informations sensibles ou lui permettre d'effectuer des actions sur votre appareil. Mieux vaut n'accorder des permissions qu'aux applications en lesquelles vous avez confiance et qui ont une raison légitime d'en avoir besoin.
Dans ce tutoriel, nous avons abordé les bases de la demande et de la gestion des permissions sous Android. Nous avons vu comment vérifier si une permission a été accordée, comment la demander et comment traiter le résultat de la demande. Nous avons également vu comment déclarer les permissions dans le fichier manifeste de l'application.
Maintenant que vous comprenez mieux le fonctionnement des permissions sous Android, essayez de mettre ces notions en pratique dans votre propre application. Si vous souhaitez en savoir plus, de nombreuses ressources existent en ligne, notamment la documentation Android et les guides pour développeurs. Avec un peu de pratique et quelques recherches supplémentaires, vous deviendrez rapidement un expert de la gestion des permissions dans vos applications Android.