Notifikasi merupakan salah satu elemen penting dalam pemrograman Android. Notifikasi banyak digunakan untuk memberikan informasi kepada user tentang suatu hal yang terjadi dalam aplikasi, entah itu informasi hasil scripting, warning atau error. Notifikasi ini secara visual akan muncul dalam sebuah popup yang muncul di top bar Android. Karena sifatnya yang muncul di luar aplikasi, maka notifikasi ini banyak digunakan sebagai push notifikasi layaknya push notif saat Whatsapp, Telegram atau Email datang. Class Notifikasi sudah disediakan Android dalam sebuah built-in service. Jadi, kita tinggal panggil function function-nya saja. Karena sifatnya yang merupakan “service”, walaupun hp Anda dalam keaadan locked, push notif ini akan tetap masuk dan muncul sebagai pop up Window.
Memunculkan Notifikasi di Android dengan Java
Untuk membuat notifikasi sederhana di Android, caranya cukup mudah yakni dengan memanfaatkan library android.app.NotificationManager. Di dalam library nanti kita bisa memanfaatkan function NotificationCompat.Builder untuk mendefinisikan sebuah instance notifikasi dan menampilkannya dengan memanggil function ‘notify‘. Untuk mudahnya langsung kita praktekkan membuat notifikasi dengan Android Studio sbb:
- Buka Android Studio, kemudian buat project baru, dan simpan dengan nama (misalnya) ‘notifku’ melalui menu File-New-New Project. Untuk mudahnya pilih ‘Empty Activity’ aja ya
- Tambahkan sebuah komponen Button ke form designer (file layout activity_main.xml). Anda bisa men-drag n drop komponen Button ke form designer atau bisa secara text based di file activity_main.xml. Button ini nantinya akan kita isi dengan sebuah event yang men-generate sebuah notifikasi
- Tambahkan script berikut di program utama di file MainActivity.java
package com.saptaji.notifku; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.NotificationCompat; import android.app.NotificationChannel; import android.app.NotificationManager; import android.content.ContentResolver; import android.content.Context; import android.graphics.Color; import android.media.AudioAttributes; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { Button tombol; String channelnotif = "channelku" ; String channelid = "default" ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tombol = (Button)findViewById(R.id.button); tombol.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { notif(); } }); } private void notif() { NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(MainActivity. this, channelid ) .setSmallIcon(R.mipmap.ic_launcher) .setContentTitle( "Tes Notif" ) .setContentText( "Isi Notifku" ); NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context. NOTIFICATION_SERVICE ) ; if (android.os.Build.VERSION. SDK_INT >= android.os.Build.VERSION_CODES. O ) { int importance = NotificationManager. IMPORTANCE_HIGH ; NotificationChannel notificationChannel = new NotificationChannel( channelnotif , "contoh channel" , importance) ; notificationChannel.enableLights( true ) ; notificationChannel.setLightColor(Color. RED ) ; mBuilder.setChannelId( channelnotif ) ; assert mNotificationManager != null; mNotificationManager.createNotificationChannel(notificationChannel) ; } assert mNotificationManager != null; mNotificationManager.notify(( int ) System. currentTimeMillis (), mBuilder.build()) ; } }
Script di atas sudah kompatibel dengan Android O (Oreo atau versi 8 ke atas), jadi dapat di-run di lebih banyak hp Android . Khusus untuk Android-O ke atas, Anda harus mendefinisikan sebuah channel utama yang nantinya bisa digunakan sebagai induk sub-channel di bawahnya. Channel utama ini dapat diset atributnya seperti enableLight, setLightColor, Vibration, Sound, dll. Jadi Anda hanya perlu mengeset channel induknya yang akan berlakuk untuk semua sub channel di bawahnya. Perhatikan pada baris … dilakukan pendeteksian versi Android, jika versi lebih besar dari Android O (versi 8), maka akan diciptakan sebuah channel utama dengan nama ‘channelku’ (disimpan dalam variabel String ‘channelnotif’. Setelah itu untuk menampilkan notif Anda hanya perlu memanggil function ‘notify’ seperti pada baris …. Parameter pertama ini adalah semacam id notif yang harus beda tiap ada notif datang. Jika sama, maka notif yang berikutnya tidak akan tampil (dianggap sudah ada). Untuk mudahnya Anda dapat menggunakan function System.currentTimeMillis () seperti pada contoh di atas
Jika Anda run script di atas, maka kurang lebih tampilannya akan seprti gambar di bawah. Jika kita mengklik tombol ‘Button’ maka event listerner onClick (script baris …) akan terpicu dan memanggil procedure ‘notif()’ yang ada di bawahnya dan akan menampilkan pesan notifikasi pada top bar hp Android Anda
Demikian sedikit tutorial singkat tentang cara menampilkan notifikasi pada Android menggunakan Android Studio (Java). Pada tutorial berikutnya akan coba saya bahas bagaimana memanggil notifikasi dari sebuah service di Android (kalau contoh di atas, notifikasi dipanggil dalam aplikasi, atau istilahnya sebuah Context yang memiliki View). Nantikan ya
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
Terimakasih banyak mas tutorialnya sangat membantu