8.1: Notifikasi

Daftar Isi:

Hingga saat ini, aplikasi yang telah Anda buat menggunakan elemen UI yang hanya terlihat saat aplikasi berjalan. Satu-satunya pengecualian adalah BroadcastReceiver yang Anda implementasikan, yang menunjukkan pesan Toast saat perangkat dihubungkan dan diputuskan dari aliran listrik. Sering kali Anda ingin menunjukkan informasi pengguna bahkan saat aplikasi sedang tidak berjalan. Misalnya, Anda ingin memberi tahu pengguna bahwa ada konten baru atau menginformasikan skor tim favorit mereka. Framework Android menyediakan mekanisme bagi aplikasi untuk memberi tahu pengguna bahkan saat aplikasi tidak ada di latar depan: framework Notifikasi.

Notifikasi adalah pesan yang bisa Anda tampilkan kepada pengguna di luar UI normal aplikasi. Saat Android mengeluarkan notifikasi, notifikasi akan muncul sebagai ikon dalam area notifikasi perangkat. Untuk melihat detail spesifik notifikasi, pengguna membuka panel samping notifikasi. Baik area notifikasi maupun panel samping notifikasi adalah area-area yang dikontrol sistem yang bisa dilihat pengguna kapan saja. Panel Samping Notifikasi

Dalam praktik ini Anda akan membuat aplikasi yang memicu notifikasi saat tombol ditekan dan memberikan kemampuan untuk memperbarui notifikasi atau membatalkannya.

Yang harus sudah Anda KETAHUI

Untuk praktik ini Anda harus bisa:

  • Mengimplementasikan metode onClick() untuk tombol.
  • Membuat Intent Implisit.
  • Mengirim Intent Siaran Khusus.
  • Menggunakan Penerima Siaran.

Yang akan Anda PELAJARI

Dalam praktik ini Anda akan belajar:

  • Membuat Notifikasi menggunakan Builder Notifikasi.
  • Menggunakan Intent yang Tertunda untuk merespons tindakan Notifikasi.
  • Memperbarui atau membatalkan Notifikasi yang ada.

Yang akan Anda LAKUKAN

Dalam praktik ini Anda akan:

  • Mengirimkan notifikasi saat tombol ditekan.
  • Memperbarui notifikasi dari tombol dan tindakan yang ada di dalam notifikasi.
  • Meluncurkan intent implisit ke laman web dari notifikasi.

Ringkasan aplikasi

Notify Me! adalah aplikasi yang dapat memicu, memperbarui, dan membatalkan notifikasi. Aplikasi ini juga bereksperimen dengan gaya notifikasi, tindakan, dan prioritas.

Pratinjau untuk Notify Me! Aplikasi Panel Samping Notifikasi

Tugas 1: Membuat notifikasi dasar

1.1 Membuat Proyek

  1. Buat proyek baru bernama "Notify Me!", terima opsi default dan gunakan template kosong.
  2. Dalam file activity_main.xml file, ubah elemen rootview ke LinearLayout vertikal dan atribut gravity disetel ke "center".
  3. Tambahkan tombol dengan atribut berikut ini untuk menggantikan TextView default-nya:

    Atribut

    Nilai

    android:id

    "@+id/notify"

    android:layout_width

    "wrap_content"

    android:layout_height

    "wrap_content"

    android:text

    "Notify Me!"

    android:layout_margin

    "4dp"

  4. Buat stub metode untuk metode sendNotification(). Metode seharusnya tidak mengambil argumen dan mengembalikan void:
    public void sendNotification() {}
    
  5. Buat variabel anggota untuk Tombol Notifikasi.
  6. Inisialisasi tombol dalam onCreate() dan buat onClickListener untuk tombol tersebut:
    mNotifyButton = (Button) findViewById(R.id.notify);
    mNotifyButton.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View view) {
       }
    });
    
  7. Panggil sendNotification() dari metode onClick.

1.2 Membuat notifikasi pertama

Notifikasi dibuat menggunakan kelas NotificationCompat.Builder, yang mengizinkan Anda untuk menyetel konten dan perilaku Notifikasi. Notifikasi harus berisi elemen berikut ini:

  • Judul, disetel oleh setContentTitle().
  • Teks detail, disetel oleh setContentText().
  • Ikon, disetel oleh ikon setSmallIcon().

Notifikasi Android diterapkan oleh NotificationManager. Jika Anda perlu memperbarui atau membatalkan notifikasi di masa yang akan datang, Anda perlu mengaitkan ID notifikasi dengan Notifikasi.

Membuat Ikon Notifikasi

  1. Buka File > New > Image Asset.
  2. Dari menu tarik turun Icon Type, pilih Notification Icons.
  3. Klik pada ikon di sebelah item Clip Art untuk memilih ikon materi yang akan Anda gunakan sebagai ikon untuk notifikasi. Pada contoh ini, Anda bisa menggunakan ikon Android.
  4. Ganti nama ic_android sumber daya dan klik Next and Finish. Ini akan membuat beberapa file drawable dengan resolusi berbeda untuk level API yang berbeda.
  5. Buat variabel anggota di MainActivity untuk menyimpan Pengelola Notifikasi:
    private NotificationManager mNotifyManager;
    
  6. Buat variabel konstanta untuk ID Notifikasi. Karena hanya akan ada satu notifikasi aktif pada satu waktu, kita bisa menggunakan ID yang sama untuk semua notifikasi:
    private static final int NOTIFICATION_ID = 0;
    
  7. Buat instance Pengelola Notifikasi dalam onCreate menggunakan getSystemService():
    mNotifyManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    
  8. Bangun dan buat instance Builder Notifikasi dalam metode sendNotification():
    NotificationCompat.Builder notifyBuilder = new NotificationCompat.Builder(this)
    
    Catatan: Pastikan kelas NotificationCompat diimpor dari pustaka dukungan v4.
  9. Setel Judul Notifikasi ke "You've been notified!".
  10. Setel Teks Notifikasi ke "This is your notification text."
  11. Setel ikon Notifikasi ke ikon Android yang Anda tambahkan.
    NotificationCompat.Builder notifyBuilder = new NotificationCompat.Builder(this)
       .setContentTitle("You've been notified!")
       .setContentText("This is your notification text.")
       .setSmallIcon(R.drawable.ic_android);
    
  12. Panggil notify() pada Pengelola Notifikasi di bagian akhir metode sendNotification(), meneruskan ID notifikasi dan notifikasi tersebut:
    Notification myNotification = notifyBuilder.build();
    mNotifyManager.notify(NOTIFICATION_ID, myNotification);
    
  13. Jalankan aplikasi Anda. Tombol "Notify Me!" sekarang mengeluarkan notifikasi (cari ikon pada bilah status), namun kekurangan beberapa fitur penting: tidak ada suara atau getar notifikasi, mengeklik notifikasi tidak melakukan apa pun. Mari tambahkan beberapa fungsionalitas tambahan ke notifikasi.

1.3 Menambahkan intent konten

Untuk menyempurnakan notifikasi, Anda perlu menambahkan beberapa fitur yang tersedia melalui kelas NotificationCompat.Builder:

  • Intent konten, yang diluncurkan saat notifikasi diketuk dan disetel oleh setContentIntent().
  • Prioritas, yang menentukan bagaimana sistem menampilkan notifikasi dengan mempertimbangkan notifikasi lain, dan disetel oleh setPriority().
  • Opsi default, seperti pesan, getar dan lampu LED (jika tersedia), dan disetel oleh setDefaults().

Mengetuk notifikasi meluncurkan Intent. Intent konten untuk notifikasi sangat serupa dengan Intent yang telah Anda gunakan selama kursus ini. Intent dapat berupa eksplisit intent untuk meluncurkan sebuah aktivitas, intent implisit untuk melakukan tindakan, atau intent siaran untuk memberi tahu sistem tentang sistem atau peristiwa khusus. Perbedaan utama dengan intent dalam notifikasi adalah intent ini harus dibungkus dalam PendingIntent, yang mengizinkan notifikasi untuk melakukan tindakan meskipun aplikasi tidak berjalan. PendingIntent diberikan ke komponen eksternal (misalnya Pengelola Notifikasi) yang mengizinkan aplikasi eksternal menggunakan izin aplikasi untuk mengeksekusi sepotong kode yang telah didefinisikan sebelumnya. Akibatnya, intent mengotorisasi notifikasi untuk mengirimkan intent atas nama aplikasi.

Untuk contoh ini, intent konten notifikasi (intent yang diluncurkan saat notifikasi ditekan) akan meluncurkan MainActivity aplikasi (jika Anda sudah dalam aplikasi ini tidak akan berpengaruh).

  1. Buat intent eksplisit dalam metode sendNotification() untuk meluncurkan kelas MainActivity:
    Intent notificationIntent = new Intent(this, MainActivity.class);
    
  2. Dapatkan PendingIntent menggunakan getActivity(), yang meneruskan konstanta ID notifikasi untuk requestCode dan menggunakan bendera FLAG_UPDATE_CURRENT:
    PendingIntent notificationPendingIntent = PendingIntent.getActivity(this,
        NOTIFICATION_ID, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
    
  3. Tambahkan PendingIntent ke Notifikasi menggunakan setContentIntent() dalam NotificationCompat.Builder:

    .setContentIntent(notificationPendingIntent)
    
  4. Jalankan aplikasi. Klik tombol Notify Me untuk mengirimkan notifikasi. Hentikan aplikasi. Sekarang lihat notifikasi dan klik. Perhatikan bahwa aplikasi akan terbuka kembali di MainActivity.

1.4 Tambahkan prioritas dan default ke notifikasi Anda

Saat pengguna mengeklik tombol "Notify Me!", notifikasi dikeluarkan namun satu-satunya visual yang dilihat pengguna adalah ikon pada bilah notifikasi. Untuk menarik perhatian pengguna, default notifikasi dan prioritas akan disetel dengan benar.

Prioritas adalah nilai integer dari PRIORITY_MIN (-2) ke PRIORITY_MAX (2) yang mewakili pentingnya notifikasi kepada pengguna. Notifikasi dengan prioritas yang lebih tinggi akan diurutkan di atas prioritas yang lebih rendah dalam panel samping notifikasi. Notifikasi prioritas HIGH atau MAX akan disampaikan sebagai Notifikasi "Heads - Up", yang ditarik ke bawah di atas layar aktif pengguna.

  1. Tambahkan baris berikut ke Builder Notifikasi untuk menyetel prioritas notifikasi ke HIGH:
    .setPriority(NotificationCompat.PRIORITY_HIGH)
    
  2. Opsi default dalam Builder digunakan untuk menyetel suara, getar, pola warna LED untuk notifikasi Anda (jika perangkat pengguna memiliki indikator LED). Dalam contoh ini, Anda akan menggunakan opsi default dengan menambahkan baris berikut ke Builder Anda:
    .setDefaults(NotificationCompat.DEFAULT_ALL)
    
  3. Anda perlu menghentikan aplikasi dan memulainya lagi untuk melihat perubahannya.

    Catatan: Notifikasi prioritas tinggi tidak akan turun ke bawah di depan layar aktif kecuali prioritas dan default-nya disetel. Prioritas saja tidak bisa.

Tugas 2. Memperbarui dan membatalkan notifikasi

Setelah mengeluarkan notifikasi, sebaiknya perbarui atau batalkan notifikasi jika informasinya berubah atau menjadi tidak relevan.

Dalam tugas ini, Anda akan mempelajari cara memperbarui dan membatalkan notifikasi.

2.1 Menambahkan tombol update dan cancel

  1. Dalam file layout, buat dua salinan tombol "Notify Me!".
  2. Ubah atribut teks dalam salinan ke "Update Me!" dan "Cancel Me!".
  3. Ubah id ke "update" dan "cancel", berturut-turut.
  4. Tambahkan variabel anggota untuk setiap tombol baru dan inisialisasikan di onCreate().
  5. Buat dia metode dalam MainActivity yang tidak memerlukan parameter dan mengembalikan kosong:
    public void updateNotification() {}
    public void cancelNotification() {}
    
  6. Buat Listener onClick untuk tombol dan panggilan baru updateNotification() dalam metode onClick tombol "update" dan cancelNotification() dalam metode onClick tombol "cancel".

2.2 Mengimplementasikan metode notifikasi pembatalan dan pembaruan

Batalkan Notifikasi

Membatalkan notifikasi cukup mudah: panggil cancel() pada Pengelola Notifikasi, meneruskan ID notifikasi:

mNotifyManager.cancel(NOTIFICATION_ID);

Perbarui Notifikasi

Memperbarui notifikasi lebih sulit. Notifikasi Android hadir dengan gaya alternatif yang dapay membantu memadatkan informasi atau mewakilinya dengan lebih efisien. Misalnya, aplikasi Gmail menggunakan notifikasi "InboxStyle" jika ada lebih dari satu pesan tidak terbaca, memadatkan informasi ke dalam notifikasi tunggal.

Dalam contoh ini, Anda akan memperbarui notifikasi untuk menggunakan BigPictureStyle, yang mengizinkan Anda untuk menyertakan gambar dalam notifikasi.

  1. Unduh gambar ini untuk digunakan di notifikasi Anda.
  2. Letakkan di dalam folder res/drawable.
  3. Dalam metode updateNotification(), konversi drawable ke bitmap:
    Bitmap androidImage = BitmapFactory
        .decodeResource(getResources(),R.drawable.mascot_1);
    
  4. Salin Intent dan PendingIntent yang dibuat dalam sendNotification() ke updateNotification(), karena Anda akan menggunakan PendingIntent yang sama sebagai Intent Content.
  5. Salin kode NotificationCompat.Builder dari sendNotification() ke updateNotification(), untuk memiliki opsi notifikasi dasar yang sama dalam notifikasi terbaru.
  6. Ubah gaya notifikasi dalam NotificationCompat.Builder yang sama, setel gambar dan "Judul Konten Besar":

    .setStyle(new NotificationCompat.BigPictureStyle()
       .bigPicture(androidImage)
       .setBigContentTitle("Notification Updated!"));
    
    Catatan: BigPictureStyle adalah subkelas dari NotificationCompat.Style yang menyediakan layout alternati untuk notifikasi. Lihat dokumentasi untuk subkelas yang terdefinisi lainnya.
  7. Ubah prioritas Builder ke default agar Anda tidak mendapatkan notifikasi awal saat diperbarui (notifikasi awal hanya dapat ditampilkan dalam gaya default).

    .setPriority(NotificationCompat.PRIORITY_DEFAULT)
    
  8. Panggil notify() pada Pengelola Notifikasi, meneruskan ID notifikasi yang sama seperti sebelumnya.
    mNotifyManager.notify(NOTIFICATION_ID, notifyBuilder.build());
    
  9. Jalankan aplikasi Anda. Setelah mengeklik update, periksa notifikasi lagi. Sekarang aplikasi memiliki gambar dan judul terbaru! Anda bisa mengecilkannya kembali ke gaya notifikasi reguler dengan mencubit notifikasi yang diperluas.

2.3 Mengalihkan keadaan tombol

Dalam aplikasi ini, pengguna mungkin akan bingung karena status notifikasi tidak dilacak di dalam aktivitas. Misalnya, pengguna mungkin mengetuk "Cancel Me!" saat notifikasi tidak tampil. Anda bisa memperbaikinya dengan mengaktifkan dan menonaktifkan berbagai tombol tergantung status notifikasi. Saat aplikasi pertama kali dijalankan, tombol "Notify Me!" harus menjadi satu-satunya yang diaktifkan karena belum ada notifikasi untuk memperbarui atau membatalkannya. Setelah notifikasi dikirimkan, tombol cancel dan update harus diaktifkan, dan tombol notifikasi harus dinonaktifkan karena notifikasi sudah disampaikan. Setelah notifikasi diperbarui, tombol update dan notify harus dinonaktifkan, sehingga hanya tombol cancel yang diaktifkan. Akhirnya, jika notifikasi dibatalkan, tombolnya harus kembali ke kondisi awal dan tombol notify menjadi satu-satunya tombol yang aktif.

Berikut kode toggle status aktif untuk setiap metode:

onCreate():

mNotifyButton.setEnabled(true);
mUpdateButton.setEnabled(false);
mCancelButton.setEnabled(false);

sendNotification():

mNotifyButton.setEnabled(false);
mUpdateButton.setEnabled(true);
mCancelButton.setEnabled(true);

updateNotification():

mNotifyButton.setEnabled(false);
mUpdateButton.setEnabled(false);
mCancelButton.setEnabled(true);

cancelNotification():

mNotifyButton.setEnabled(true);
mUpdateButton.setEnabled(false);
mCancelButton.setEnabled(false);

Tugas 3. Menambahkan tindakan notifikasi

Kadang, notifikasi memerlukan interaksi segera: mematikan alarm sementara, membalas pesan teks, dan sebagainya. Saat jenis notifikasi ini terjadi, pengguna mungkin mengetuk notifikasi untuk merespons ke peristiwa. Android lalu memuat Aktivitas yang tepat dalam aplikasi untuk direspons pengguna. Untuk menghindari membuka aplikasi, framework notifikasi memungkinkan Anda menyematkan tindakan notifikasi langsung di dalam notifikasi itu sendiri. Ini akan mengizinkan pengguna untuk menindak notifikasi tanpa membuka aplikasi.

Komponen yang diperlukan untuk tindakan adalah:

  • Ikon, untuk diletakkan dalam notifikasi.
  • String label, diletakkan di sebelah ikon.
  • PendingIntent, dikirimkan saat tindakan notifikasi diklik.

Dalam contoh berikut, Anda akan menambahkan dua tindakan ke notifikasi. Pertama, Anda akan menambahkan tindakan "Learn More" dengan intent implisit yang meluncurkan laman web, lalu tindakan "Update" dengan intent siaran yang memperbarui notifikasi tanpa membuka aplikasi.

3.1 Mengimplementasikan tindakan "Learn More"

Sebagai contoh pertama tindakan notifikasi, Anda akan mengimplementasikan satu yang meluncurkan intent implisit untuk membuka situs web.

  1. Buat variabel String anggota yang berisi URL ke panduan Desain Material untuk notifikasi: https://developer.android.com/design/patterns/notifications.html.
  2. Buat Intent implisit yang membuka URL tersimpan dalam metodesendNotification() sebelum membuat notifikasi.
  3. Buat PendingIntent dari intent implisit, menggunakan bendera FLAG_ONE_SHOT agar PendingIntent tidak bisa digunakan kembali:
    Intent learnMoreIntent = new Intent(Intent.ACTION_VIEW, Uri
        .parse(NOTIFICATION_GUIDE_URL));
    PendingIntent learnMorePendingIntent = PendingIntent.getActivity
        (this,NOTIFICATION_ID,learnMoreIntent,PendingIntent.FLAG_ONE_SHOT);
    
  4. Tambahkan ikon ini menggunakan Image Asset Studio, dan sebut ikon ic_learn_more: Ikon Learn More
  5. Tambahkan kode baris berikut ke builder dalam sendNotification() dan updateNotification() untuk menambahkan tindakan ke notifikasi asli dan terbaru:
    .addAction(R.drawable.ic_learn_more,"Learn More", learnMorePendingIntent);
    
  6. Jalankan aplikasi Anda. Notifikasi sekarang akan memiliki ikon yang dapat diklik dan membawa Anda ke web!

3.2 Mengimplementasikan tindakan "Update"

Anda sudah melihat tindakan notifikasi menggunakan PendingIntent untuk merespons interaksi pengguna. Pada langkah terakhir, Anda menambahkan tindakan yang menggunakan PendingIntent yang dibuat menggunakan metode getActivity(). Anda juga bisa membuat PendingIntent yang memberikan intent siaran dengan memanggil getBroadcast() pada kelas PendingIntent. Intent Siaran sangat berguna dalam notifikasi, karena penerima siaran dapat mendaftarkan minatnya dalam intent dan memberikan respons yang sesuai, semuanya tanpa meluncurkan aktivitas yang spesifik.

Sekarang Anda akan mengimplementasikan Penerima Siaran yang akan memanggil metode updateNotification() saat tindakan "Update" dalam notifikasi ditekan. Menambahkan fungsionalitas ke notifikasi yang sudah ada dalam aplikasi adalah pola umum, agar pengguna tidak perlu membuka aplikasi apa pun untuk melakukan tindakan tersebut.

  1. Buat subkelas BroadcastReceiver sebagai kelas bagian dalam pada MainActivity dan ganti metode onReceive(). Jangan lupa untuk menyertakan konstruktor kosong:

    public class NotificationReceiver extends BroadcastReceiver {
    
       public NotificationReceiver() {
       }
    
       @Override
       public void onReceive(Context context, Intent intent) {
       }
    }
    
  2. Dalam metode onReceive(), panggil updateNotification().
  3. Buat variabel anggota kontan dalam MainActivity untuk mewakili tindakan notifikasi pembaruan untuk BroadcastIntent. Pastikan variabel dimulai dengan nama paket untuk memastikan keunikannya:
    private static final String ACTION_UPDATE_NOTIFICATION =
        "com.example.android.notifyme.ACTION_UPDATE_NOTIFICATION";
    
  4. Buat variabel anggota untuk penerima dan inisialisasikan menggunakan konstruktor default.
  5. Dalam metode onCreate(), daftarkan Penerima Siaran untuk menerima intent ACTION_UPDATE_NOTIFICATION:
    registerReceiver(mReceiver,new IntentFilter(ACTION_UPDATE_NOTIFICATION));
    
  6. Ganti metode onDestroy() Aktivitas untuk berhenti mendaftarkan penerima:
    @Override
    protected void onDestroy() {
    unregisterReceiver(mReceiver);
       super.onDestroy();
    }
    
    Catatan: Dalam contoh ini, Anda mendaftarkan Penerima Siaran secara terprogram karena penerima didefinisikan sebagai kelas dalam. Saat penerima didefinisikan dengan cara ini, penerima tidak bisa didaftarkan dalam Manifes Android karena bersifat dinamis dan mungkin berubah selama masa hidup aplikasi.

    Tampaknya siaran yang dikirimkan oleh notifikasi hanya memperhatikan aplikasi Anda dan harus dikirim dengan LocalBroadcastManager. Tetapi, penggunaan PendingIntent mendelegasikan tanggung jawab pengiriman notifikasi ke Android Framework. Karena waktu proses Android menangani siaran, LocalBroadcastManager tidak dapat digunakan.

Buat Tindakan Pembaruan

  1. Buat Intent siaran dalam metode sendNotification() menggunakan tindakan pembaruan khusus.
  2. Dapatkan PendingIntent menggunakan getBroadcast():
    Intent updateIntent = new Intent(ACTION_UPDATE_NOTIFICATION);
    PendingIntent updatePendingIntent = PendingIntent.getBroadcast
          (this, NOTIFICATION_ID, updateIntent, PendingIntent.FLAG_ONE_SHOT);
    
  3. Buat ikon ini menggunakan Image Asset Studio, beri nama ic_update.Ikon Update
  4. Tambahkan tindakan ke builder dalam metode sendNotification(), beri judul "Update":
    .addAction(R.drawable.ic_update, "Update", updatePendingIntent)
    
  5. Jalankan aplikasi Anda. Sekarang Anda bisa memperbarui notifikasi tanpa membuka aplikasi!

Kode solusi

Proyek Android Studio: NotifyMe

Tantangan penyusunan kode

Catatan:Semua tantangan penyusunan kode opsional dan bukan prasyarat untuk pelajaran berikutnya.

Tantangan: Mengaktifkan dan menonaktifkan berbagai tombol adalah cara yang umum untuk memastikan pengguna tidak melakukan tindakan apa pun yang tidak didukung dalam status aplikasi saat ini (misalnya menonaktifkan tombol "Sync" saat tidak ada jaringan). Namun pada aplikasi ini, ada satu kasus di mana status tombol tidak cocok dengan status aplikasi: saat pengguna menghilangkan notifikasi dengan menggeseknya atau menghapus semua panel samping notifikasi. Dalam hal ini, aplikasi tidak bisa mengetahui bahwa notifikasi dihapus dan bahwa status tombol harus diubah.

Buat intent siaran lain yang akan memberi tahu aplikasi bahwa pengguna telah menghilangkan notifikasi dan ubah status tombol.

Petunjuk: Periksa kelas NotificationCompat.Builder untuk metode yang mengirimkan Intent saat notifikasi telah dihilangkan oleh pengguna.

Rangkuman

  • Notifikasi adalah pesan yang bisa Anda tampilkan kepada pengguna di luar UI normal aplikasi.
  • Notifikasi menyediakan cara bagi aplikasi untuk berinteraksi dengan pengguna bahkan saat aplikasi sedang tidak berjalan.
  • Saat Android mengeluarkan notifikasi, notifikasi akan muncul sebagai ikon dalam area notifikasi perangkat.
  • UI dan tindakan untuk notifikasi ditentukan menggunakan NotificationCompat.Builder.
  • Untuk membuat notifikasi gunakan NotificationCompat.Builder.build().
  • Untuk mengeluarkan notifikasi, teruskan objek Notifikasi ke sistem waktu proses Android dengan NotificationManager.notify().
  • Untuk memperbarui atau membatalkan notifikasi, Anda perlu mengaitkan ID notifikasi dengan Notifikasi.
  • Intent dapat berupa bagian dari notifikasi (Eksplisit, Implisit, atau Siaran).
  • Intent dalam notifikasi harus "dibungkus" dalam PendingIntent, yang sebenarnya bukanlah Intent. PendingIntent adalah implementasi pola dekorator.
  • Komponen notifikasi yang diperlukan adalah: ikon kecil (setSmallIcon()), judul (setContentTitle()) dan beberapa teks detail (setContentText()).
  • Beberapa komponen opsional notifikasi adalah: intent, gaya diperluas, prioritas, dsb. Lihat NotificationCompat.Builder untuk informasi selengkapnya.

Konsep terkait

Dokumentasi konsep terkait ada di Dasar-Dasar Developer Android: Konsep.

Ketahui selengkapnya

Panduan

Referensi

results matching ""

    No results matching ""