0Pricing
Android Academy · Pelajaran

Tindakan dan Deep Link

Tambahkan tombol dan buka layar yang tepat.

Tindakan dan Deep Link 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.

Tindakan dan Tautan Mendalam

Notifikasi menjadi berguna saat notifikasi tersebut melakukan sesuatu. Mengetuknya seharusnya membuka layar yang tepat, dan tombol tindakan seharusnya menjalankan tugas dengan cepat. Keduanya bergantung pada PendingIntent.

Apa Itu PendingIntent

PendingIntent adalah token yang Anda serahkan kepada sistem agar sistem dapat menjalankan Intent atas nama Anda nanti, bahkan saat aplikasi Anda tidak sedang berjalan. Notifikasi menggunakannya untuk meluncurkan aktivitas Anda.

Membuat PendingIntent Konten

Buat Intent untuk layar yang akan dibuka, bungkus dalam PendingIntent, lalu lampirkan dengan setContentIntent agar ketukan membuka layar tersebut.

val intent = Intent(context, MainActivity::class.java)
val pending = PendingIntent.getActivity(
    context, 0, intent,
    PendingIntent.FLAG_IMMUTABLE
)
builder.setContentIntent(pending).setAutoCancel(true)

Bendera Mutabilitas

Sejak Android 12, PendingIntent harus menentukan FLAG_IMMUTABLE atau FLAG_MUTABLE. Utamakan FLAG_IMMUTABLE, kecuali sistem perlu mengisi data, seperti pada beberapa balasan.

Menambahkan Tombol Tindakan

Gunakan addAction dengan ikon, label, dan PendingIntent untuk menambahkan tombol yang dapat diketuk ke notifikasi, seperti "Balas" atau "Tandai sebagai telah dibaca".

builder.addAction(
    R.drawable.ic_reply,
    "Reply",
    replyPendingIntent
)

Tindakan Memicu Komponen

PendingIntent milik suatu tindakan dapat menargetkan Aktivitas, Layanan, atau Penerima Siaran. Tombol "Tandai sebagai telah dibaca" sering menargetkan penerima agar dapat berfungsi tanpa membuka layar apa pun.

val markIntent = Intent(context, MarkReadReceiver::class.java)
val markPending = PendingIntent.getBroadcast(
    context, 0, markIntent, PendingIntent.FLAG_IMMUTABLE
)

Tautan Mendalam ke Layar

Tautan mendalam membuka tujuan tertentu di dalam aplikasi Anda, bukan hanya layar beranda. Dengan Navigation Compose, Anda dapat membuat PendingIntent yang mengarah ke rute tertentu.

Membuat PendingIntent Tautan Mendalam

Komponen Navigation menyediakan NavDeepLinkBuilder (atau Intent tautan mendalam dengan URI) untuk membuat PendingIntent yang menargetkan tujuan dan argumen.

val deepLinkPending = NavDeepLinkBuilder(context)
    .setGraph(R.navigation.nav_graph)
    .setDestination(R.id.chatScreen)
    .setArguments(bundleOf("chatId" to "42"))
    .createPendingIntent()

Tautan Mendalam Berbasis URI

Anda juga dapat mendaftarkan pola URI dalam grafik navigasi dan membuat Intent dengan Uri tersebut. Setelah notifikasi diketuk, navigasi akan langsung menuju layar yang cocok.

val intent = Intent(
    Intent.ACTION_VIEW,
    "myapp://chat/42".toUri(),
    context, MainActivity::class.java
)

Mempertahankan Tumpukan Kembali

Untuk tautan mendalam, pastikan tumpukan kembali tersusun dengan baik agar menekan Kembali mengarah ke layar induk, bukan keluar dari aplikasi. TaskStackBuilder atau pembuat tautan mendalam navigasi akan menanganinya.

Kode Permintaan Unik

Jika Anda membuat beberapa PendingIntent yang berbeda, berikan masing-masing kode permintaan yang berbeda sebagai argumen kedua. Intent yang identik dengan kode yang sama akan dianggap sebagai PendingIntent yang sama.

Pemeriksaan Singkat

Uji pemahaman Anda tentang tindakan dan tautan mendalam.

Ringkasan

Anda telah menambahkan interaktivitas:

  • PendingIntent memungkinkan sistem bertindak atas nama Anda; gunakan FLAG_IMMUTABLE
  • setContentIntent menentukan tindakan saat diketuk
  • addAction menambahkan tombol yang menargetkan aktivitas, layanan, atau penerima
  • Tautan mendalam membuka layar tertentu dengan tumpukan kembali yang dipertahankan

Berikutnya: izin runtime notifikasi.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Tindakan dan Deep Link” gratis?

Ya — teks lengkap “Tindakan dan Deep Link” 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 “Tindakan dan Deep Link”?

Tambahkan tombol dan buka layar yang tepat. 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 “Tindakan dan Deep Link” 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. Saluran Notifikasi
  2. Membuat Notifikasi
  3. Tindakan dan Deep Link
  4. Izin Notifikasi saat Runtime
← Kembali ke Android Academy