12/08/2018, 17:26

Tạo Notification Direct Reply trong Android

Android Notification Direct Reply cho phép chúng ta có thể reply nhanh tin nhắn trong notification của hệ thống. Notification Direct Reply rất phổ biến trong các ứng dụng chat cần reply tức thì như Whatsapp hay Facebook messenger. Kể từ phiên bản Android Nougat chúng ta được cung cấp thêm một vài ...

Android Notification Direct Reply cho phép chúng ta có thể reply nhanh tin nhắn trong notification của hệ thống. Notification Direct Reply rất phổ biến trong các ứng dụng chat cần reply tức thì như Whatsapp hay Facebook messenger. Kể từ phiên bản Android Nougat chúng ta được cung cấp thêm một vài tính năng mới như Inline Reply Actions và Bundle Notifications... Bắt đầu thôi nào!

Giao diện

Chúng ta sẽ làm một sample đơn giản với một button, sau khi click vào button đó thì sẽ có notification và chúng ta sẽ reply ngay trên notification đó. Trong activity_main.xml sẽ có 2 control như sau:

<Button
        android:layout_awidth="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginStart="8dp"
        android:layout_marginTop="8dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        android:background="@color/colorAccent"
        android:text="Make notification"
        android:textColor="#FFF"
        android:id="@+id/btn_noti"
        android:onClick="makeNoti"/>

    <TextView
        android:id="@+id/txt_inline_reply"
        android:layout_awidth="wrap_content"
        android:layout_height="wrap_content"
        android:text="Replied text will be displayed here"
        android:layout_marginTop="8dp"
        app:layout_constraintTop_toBottomOf="@+id/btn_noti"
        android:layout_marginLeft="8dp"
        app:layout_constraintLeft_toLeftOf="parent"
        android:layout_marginRight="8dp"
        app:layout_constraintRight_toRightOf="parent" />

Chức năng

Với button có sự kiện onClick="makeNoti", chúng ta sẽ implement sự kiện này trong MainActivity. Hàm onCreate của MainActivity sẽ chỉ findViewById như bình thường

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btnBasicInlineReply = (Button) findViewById(R.id.btn_noti);
        txtReplied = (TextView) findViewById(R.id.txt_inline_reply);
    }

Sự kiện onClick của button sẽ tạo notification, mình viết trong một riêng cho đỡ dài             </div>
            
            <div class=

0