Håndtere avslag og begrunnelser
Forklar hvorfor De trenger en tillatelse.
Håndtere avslag og begrunnelser er en gratis leksjon i Android Academy på CoddyKit. Dette er leksjon 3 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Android Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Android Academy inneholder totalt 4 leksjoner.
Håndtere avslag
Brukere kan avslå en tillatelse, og de kan avslå den permanent. En gjennomarbeidet app håndterer alle tilstander på en god måte: gitt, avslått én gang og avslått med «ikke spør igjen».
Tre mulige tilstander
Etter en forespørsel kan De være i én av tre tilstander:
- Gitt: fortsett med funksjonen
- Avslått (kan spørres på nytt): forklar og be om tillatelsen på nytt
- Permanent avslått: Dialogboksen vises ikke lenger; veiled brukeren til Innstillinger
Hva er en begrunnelse
En begrunnelse er en kort forklaring på hvorfor appen trenger en tillatelse. Android forteller Dem når De bør vise en, via shouldShowRequestPermissionRationale.
shouldShowRequestPermissionRationale
Denne metoden returnerer true når brukeren har avslått tillatelsen minst én gang, men ikke har valgt «ikke spør igjen». Det er signalet til å forklare før De spør på nytt.
val activity = LocalContext.current as Activity
val showRationale = ActivityCompat
.shouldShowRequestPermissionRationale(
activity,
Manifest.permission.CAMERA
)Tolke signalet
Tolk verdien sammen med kontrollen av om tillatelsen er gitt:
- Gitt: ingenting å gjøre
- Ikke gitt og
shouldShowRationale == true: vis en forklaring, og be deretter om tillatelsen på nytt - Ikke gitt og
shouldShowRationale == false: enten er dette første forespørsel, eller tillatelsen er permanent avslått
Vise en begrunnelsesdialog
Når en begrunnelse er nødvendig, viser De en vennlig dialog før De starter systemforespørselen på nytt, slik at brukeren forstår nytten.
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") }
}
)
}Oppdage permanent avslag
Hvis tillatelsen fortsatt ikke er gitt og shouldShowRationale er false etter at brukeren allerede er blitt spurt, skal De behandle den som permanent avslått. Systemdialogen vises ikke lenger.
Følge med på om De har spurt
Fordi shouldShowRationale også er false ved den aller første forespørselen, bør De følge med på et flagg (for eksempel i DataStore) som registrerer at De har spurt minst én gang. Da kan De skille mellom første forespørsel og permanent avslag.
Sende brukere til Innstillinger
Ved permanent avslag kan De ikke spørre på nytt. Tilby en knapp som åpner innstillingssiden for appen, slik at brukeren kan gi tillatelsen manuelt.
fun openAppSettings(context: Context) {
val intent = Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", context.packageName, null)
)
context.startActivity(intent)
}Utforme brukergrensesnittet ved avslag
La aldri brukeren stå igjen med en tom eller ødelagt skjerm etter et avslag. Vis en tydelig melding, forklar konsekvensene, og tilby riktig handling: spør på nytt, åpne Innstillinger eller fortsett med redusert funksjonalitet.
Respekter brukerens valg
Ikke mas. Hvis brukeren har avslått, skal De ikke bombardere vedkommende på hver skjerm. Spør bare på nytt når brukeren utfører en handling som trenger funksjonen, og håndter avslaget på en god måte ellers.
Rask sjekk
Test forståelsen Deres av avslag og begrunnelser.
Oppsummering
De har lært å håndtere avslag:
- Tre tilstander: gitt, avslått og permanent avslått
shouldShowRequestPermissionRationalesignaliserer når De bør forklare- Følg med på om De har spurt, for å oppdage permanent avslag
- Ved permanent avslag sender De brukeren til appens Innstillinger
- Utform et tydelig brukergrensesnitt for avslått tilstand, og unngå å mase
Neste: anbefalte fremgangsmåter for personvern.
Lær deg Kotlin med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 36
- Leksjoner
- 152
Ofte stilte spørsmål
Er leksjonen «Håndtere avslag og begrunnelser» gratis?
Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Android Academy, inkludert «Håndtere avslag og begrunnelser», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Android Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Håndtere avslag og begrunnelser»?
Forklar hvorfor De trenger en tillatelse. Du øver på Android Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Android Academy?
Ingen tidligere erfaring er nødvendig. Android Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 3 av 4.
Hvor lang tid tar leksjonen «Håndtere avslag og begrunnelser»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Android Academy-leksjonen?
Ja. Alle Android Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Androids tillatelsesmodell
- Be om tillatelser i Compose
- Håndtere avslag og begrunnelser
- Beste praksis for personvern