0Pricing
Android Academy · Leçon

Gérer les refus et fournir une explication

Expliquez pourquoi vous avez besoin d'une autorisation.

Gérer les refus et fournir une explication est une leçon Android Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Android Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Android Academy comprend 4 leçons au total.

Gérer les refus

Les utilisateurs peuvent refuser une autorisation, y compris de manière permanente. Une application soignée gère élégamment tous les états : accordée, refusée une fois et refusée avec l’option « ne plus demander ».

Trois états possibles

Après une demande, vous pouvez vous trouver dans l’un des trois états suivants :

  • Accordée : poursuivez avec la fonctionnalité
  • Refusée (nouvelle demande possible) : expliquez la situation et demandez-la à nouveau
  • Refusée définitivement : la boîte de dialogue ne s’affiche plus ; guidez l’utilisateur vers les paramètres

Qu’est-ce qu’une explication ?

Une explication est une courte présentation de la raison pour laquelle votre application a besoin d’une autorisation. Android vous indique quand en afficher une grâce à shouldShowRequestPermissionRationale.

shouldShowRequestPermissionRationale

Cette méthode renvoie true lorsque l’utilisateur a refusé l’autorisation au moins une fois, mais n’a pas sélectionné « ne plus demander ». Vous devez alors fournir une explication avant de faire une nouvelle demande.

val activity = LocalContext.current as Activity
val showRationale = ActivityCompat
    .shouldShowRequestPermissionRationale(
        activity,
        Manifest.permission.CAMERA
    )

Interpréter le signal

Interprétez cette valeur conjointement avec la vérification de l’autorisation :

  • Accordée : aucune action nécessaire
  • Non accordée et shouldShowRationale == true : affichez une explication, puis faites une nouvelle demande
  • Non accordée et shouldShowRationale == false : il peut s’agir d’une première demande ou d’un refus définitif

Afficher une boîte de dialogue d’explication

Lorsqu’une explication est nécessaire, présentez une boîte de dialogue conviviale avant de relancer la demande du système, afin que l’utilisateur en comprenne l’intérêt.

if (showRationale) {
    AlertDialog(
        onDismissRequest = { },
        title = { Text("Camera needed") },
        text = { Text("We use the camera to scan codes.") },
        confirmButton = {
            TextButton(onClick = {
                launcher.launch(Manifest.permission.CAMERA)
            }) { Text("Continue") }
        }
    )
}

Détecter un refus définitif

Si l’autorisation n’est toujours pas accordée et que shouldShowRationale vaut false après que l’utilisateur a déjà été sollicité, considérez-la comme définitivement refusée. La boîte de dialogue du système ne s’affichera plus.

Suivre si la demande a déjà été effectuée

Comme shouldShowRationale vaut également false lors de la toute première demande, suivez un indicateur (par exemple dans DataStore) qui enregistre qu’une demande a été effectuée au moins une fois. Vous pourrez ainsi distinguer une première demande d’un refus définitif.

Diriger les utilisateurs vers les paramètres

En cas de refus définitif, vous ne pouvez pas faire une nouvelle demande. Proposez un bouton qui ouvre la page des paramètres de votre application afin que l’utilisateur puisse accorder l’autorisation manuellement.

fun openAppSettings(context: Context) {
    val intent = Intent(
        Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
        Uri.fromParts("package", context.packageName, null)
    )
    context.startActivity(intent)
}

Concevoir l’interface en cas de refus

Ne laissez jamais un écran vide ou défectueux en cas de refus. Affichez un message clair, expliquez les conséquences et proposez l’action appropriée : faire une nouvelle demande, ouvrir les paramètres ou continuer avec des fonctionnalités réduites.

Respecter le choix de l’utilisateur

N’insistez pas. Si l’utilisateur a refusé, ne le sollicitez pas sur chaque écran. Faites une nouvelle demande uniquement lorsqu’il effectue une action qui nécessite la fonctionnalité et prévoyez sinon un fonctionnement dégradé.

Vérification rapide

Testez votre compréhension des refus et des explications.

Récapitulatif

Vous avez appris à gérer les refus :

  • Trois états : accordée, refusée et définitivement refusée
  • shouldShowRequestPermissionRationale indique quand fournir une explication
  • Suivez si une demande a déjà été effectuée pour détecter un refus définitif
  • En cas de refus définitif, dirigez l’utilisateur vers les paramètres de l’application
  • Concevez une interface claire pour l’état de refus et évitez d’insister

Ensuite : bonnes pratiques en matière de confidentialité.

Questions Fréquemment Posées

La leçon « Gérer les refus et fournir une explication » est-elle gratuite ?

Oui — le texte complet de « Gérer les refus et fournir une explication » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Android Academy, passe à CoddyKit PRO. Le cours Android Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Gérer les refus et fournir une explication » ?

Expliquez pourquoi vous avez besoin d'une autorisation. Tu pratiques Android Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Android Academy ?

Aucune expérience préalable n'est requise. Android Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Gérer les refus et fournir une explication » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Android Academy ?

Oui. Chaque leçon Android Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Le modèle d'autorisations Android
  2. Demander des autorisations dans Compose
  3. Gérer les refus et fournir une explication
  4. Bonnes pratiques de confidentialité
← Retour à Android Academy