12/08/2018, 15:56

Cách dùng Notification trong Android

1. Định nghĩa: Notification là một thông điệp hiển thị thông tin đến cho người dùng bên ngoài ứng dụng. Nó thường xuất hiện phía trên cùng của màn hình. Để xem chi tiết thông điệp (thông báo), bạn chỉ cần kéo thanh Notification drawer xuống. Thực tế trong các dự án phát triển app thì việc sử dụng ...

1. Định nghĩa: Notification là một thông điệp hiển thị thông tin đến cho người dùng bên ngoài ứng dụng. Nó thường xuất hiện phía trên cùng của màn hình. Để xem chi tiết thông điệp (thông báo), bạn chỉ cần kéo thanh Notification drawer xuống. Thực tế trong các dự án phát triển app thì việc sử dụng đến Notification là thường xuyên và không thể thiếu.

2. Class (Lớp) Notification Manager Là class cha quản lý các thông báo (Notification). Nó cấp quyền cho phép đẩy lên các thông báo vào thanh tiêu đề của app. User có thể mở Notification và khởi động Activity tương ứng thông qua Notification.

Tất cả các thông báo đều là các Object thuộc class Notification. Mặc dù vậy, chúng ta không thể tạo ra các thông báo trực tiếp từ class này mà cần sử dụng class NotificationManager để tạo ra các thông báo. Và một Object NotificationManager được tạo ra thông qua method getSystemService() từ Context :

NotificationManager notificationManager = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);

Context là một abstract class của hệ thống android, nó bao gồm các thông tin môi trường app, cung cấp các phương thức để có thể tương tác và giao tiếp với OS, giúp chúng ta dễ dàng truy cập và làm việc với các tài nguyên của hệ thống...

Sau khi đã có một Object NotificationManager, để hiện thị thông báo, chúng ta dùng method notify():

notificationManager.notify(ID, objectNotification);

3. Create một thông báo (Notification) Ta sử dụng class Builder - một class trong class Notification dùng để khởi tạo UI của một thông báo và class PendingIntent để bắt event touch vào thông báo:

Intent intent = new Intent(this,MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0);

Notification notify  = new Notification.Builder(this)
  .setContentTitle("New email from " + "tuantv@gmail.com")
  .setContentText("Subject")
  .setSmallIcon(R.drawable.btn_selected)
  .setContentIntent(pendingIntent)
  .setAutoCancel(true)
  .addAction(R.drawable.call_icon, "Call", pendingIntent1)
  .addAction(R.drawable.more_icon, "More", pendingIntent1)
  .addAction(R.drawable.more_and_more_icon, "And more", pendingIntent1).build();

Trong đoạn code trên: khi touch vào thông báo, nó sẽ implement cái pendingIntent (chuyển sang màn hình MainActivity). Nếu touch vào button thì implement cái pendingIntent1 (giả sử rằng mình đã tạo pendingIntent1). Muốn show button, bạn cần vuốt thông báo xuống phía dưới

4. Hủy một thông báo (Notification) Chúng ta có thể xóa một thông báo cụ thể bằng method cancel():
notificationManager.cancel(notificationID); hoặc xóa tất cả: notificationManager.cancelAll();

Trên đây là một hướng dẫn cơ bản về cách sử dụng Notification trong lập trình Android, khi có thời gian mình sẽ trình bày cụ thể hơn và code app demo cho mọi người hiểu hơn nhé.

0