Menangani Penolakan dan Alasan
Jelaskan alasan Anda memerlukan suatu izin.
Menangani Penolakan dan Alasan adalah pelajaran Android Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Android Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Android Academy mencakup 4 pelajaran total.
Menangani Penolakan
Pengguna dapat menolak izin, bahkan menolaknya secara permanen. Aplikasi yang baik menangani semua status dengan baik: diberikan, ditolak sekali, dan ditolak dengan pilihan "jangan tanya lagi".
Tiga Kemungkinan Status
Setelah permintaan, Anda mungkin berada dalam salah satu dari tiga status berikut:
- Granted: lanjutkan dengan fitur tersebut
- Denied (can ask again): jelaskan lalu minta lagi
- Permanently denied: dialog tidak lagi muncul; arahkan pengguna ke Setelan
Apa Itu Alasan
Alasan adalah penjelasan singkat tentang mengapa aplikasi Anda memerlukan izin. Android memberi tahu Anda kapan harus menampilkannya melalui shouldShowRequestPermissionRationale.
shouldShowRequestPermissionRationale
Metode ini mengembalikan true ketika pengguna telah menolak izin setidaknya sekali, tetapi belum memilih "jangan tanya lagi". Itu adalah tanda bagi Anda untuk menjelaskan sebelum meminta lagi.
val activity = LocalContext.current as Activity
val showRationale = ActivityCompat
.shouldShowRequestPermissionRationale(
activity,
Manifest.permission.CAMERA
)Membaca Sinyal
Tafsirkan nilainya bersama pemeriksaan pemberian izin:
- Sudah diberikan: tidak ada yang perlu dilakukan
- Belum diberikan dan
shouldShowRationale == true: tampilkan penjelasan, lalu minta lagi - Belum diberikan dan
shouldShowRationale == false: mungkin ini permintaan pertama atau penolakan permanen
Menampilkan Dialog Alasan
Saat alasan diperlukan, tampilkan dialog yang ramah sebelum meluncurkan kembali permintaan sistem agar pengguna memahami manfaatnya.
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") }
}
)
}Mendeteksi Penolakan Permanen
Jika izin masih belum diberikan dan shouldShowRationale bernilai false setelah pengguna pernah diminta, perlakukan sebagai ditolak secara permanen. Dialog sistem tidak akan muncul lagi.
Melacak Apakah Anda Sudah Meminta
Karena shouldShowRationale juga bernilai false pada permintaan pertama, lacak sebuah penanda (misalnya dalam DataStore) yang mencatat bahwa Anda pernah meminta setidaknya sekali. Dengan demikian, Anda dapat membedakan permintaan pertama dari penolakan permanen.
Mengarahkan Pengguna ke Setelan
Untuk penolakan permanen, Anda tidak dapat meminta lagi melalui dialog. Tawarkan tombol yang membuka halaman setelan aplikasi agar pengguna dapat memberikan izin secara manual.
fun openAppSettings(context: Context) {
val intent = Intent(
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.fromParts("package", context.packageName, null)
)
context.startActivity(intent)
}Merancang UI Penolakan
Jangan pernah membiarkan layar kosong atau rusak saat izin ditolak. Tampilkan pesan yang jelas, jelaskan dampaknya, dan tawarkan tindakan yang tepat: meminta lagi, membuka Setelan, atau melanjutkan dengan fungsi yang dikurangi.
Hormati Pilihan Pengguna
Jangan mengganggu pengguna terus-menerus. Jika pengguna menolak, jangan membombardir mereka di setiap layar. Minta lagi hanya saat mereka melakukan tindakan yang memerlukan fitur tersebut, dan tetap berikan fungsi alternatif dengan baik.
Pemeriksaan Cepat
Uji pemahaman Anda tentang penolakan dan alasan.
Rangkuman
Anda telah mempelajari cara menangani penolakan:
- Tiga status: diberikan, ditolak, dan ditolak secara permanen
shouldShowRequestPermissionRationalememberi sinyal kapan harus menjelaskan- Lacak apakah Anda sudah meminta untuk mendeteksi penolakan permanen
- Untuk penolakan permanen, arahkan pengguna ke Setelan aplikasi
- Rancang UI status penolakan yang jelas dan hindari mengganggu pengguna
Berikutnya: praktik terbaik privasi.
Belajar Kotlin dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 36
- Pelajaran
- 152
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menangani Penolakan dan Alasan” gratis?
Ya — teks lengkap “Menangani Penolakan dan Alasan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Android Academy, upgrade ke CoddyKit PRO. Kursus Android Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menangani Penolakan dan Alasan”?
Jelaskan alasan Anda memerlukan suatu izin. Kamu berlatih Android Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Android Academy?
Tidak diperlukan pengalaman sebelumnya. Android Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Menangani Penolakan dan Alasan” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Android Academy ini?
Ya. Setiap pelajaran Android Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Model Izin Android
- Meminta Izin di Compose
- Menangani Penolakan dan Alasan
- Praktik Terbaik untuk Privasi