Android Academy · Pelajaran

Menangani Penolakan dan Alasan

Jelaskan alasan Anda memerlukan suatu izin.

Pelajaran 3 dari 413 langkah

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
  • shouldShowRequestPermissionRationale memberi 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.

Gratis untuk memulai

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

  1. Model Izin Android
  2. Meminta Izin di Compose
  3. Menangani Penolakan dan Alasan
  4. Praktik Terbaik untuk Privasi
← Kembali ke Android Academy