NotificationManager
Dalam aplikasi android, saat kita menggunakannya pasti sudah menemukan sebuah
pop-up yang muncul dari bilah atas ponsel kita. Biasanya memberikan informasi status, pesan
masuk dan lain sebagainya. Ada beberapa jenis notifikasi. Ada yang berupa pop-up dan status
bar. Notification memiliki design guidelines tersendiri. Untuk informasi lebih lanjutnya
mengenai android notifications bisa mengunjungi langsung ke Material.io dan Notification
Overview
Untuk menentukan sebuah informasi pada user interface dan action dari notifikasi
yang muncul bisa menggunakan object Notification.Builder. Nah, untuk membuat notifikasi
itu sendiri, anda bisa menggunakan Notification.Builder.build() yang mana akan
mengembalikan sebuah object notifikasi. Untuk memberikan object notifikasi, anda bisa
menggunakan NotificationManager.notifiy().
Untuk Android O ke atas, anda perlu mebuat channel agar notifikasi bisa berjalan.
Channel ini difungsikan untuk mengelompokkan notifikasi dalam beberapa group seperti
kanal (Channel). Dengan menggunakan channel anda bisa mengatur notifikasi dalam satu
channel dalam satu waktu, seperti mengatur prioritas suara, maupun geteran. Sehingga akan
mempermudah dalam mem-filter notifikasi yang masuk, dan juga akan meningkatkan
kenyamanan pengguna.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (notificationmanager != null) {
notificationmanager.createNotificationChannel(channel);
}
}
</androidx.constraintlayout.widget.ConstraintLayout>
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.AppCompatButton;
import androidx.core.app.NotificationCompat;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Context;
import android.content.IntentFilter;
import android.media.RingtoneManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AppCompatButton btn_send_notification =
findViewById(R.id.btn_send_notification);
btn_send_notification.setOnClickListener(view -> {
kirimNotifikasi();
});
Uri alarmSound =
RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
builder.setChannelId(CHANNEL_ID);
if (notificationManager != null) {
notificationManager.createNotificationChannel(channel);
}
}
if (notificationManager != null) {
notificationManager.notify(NOTIFICATION_ID, notification);
}
}
}