Giới thiệu
InboxStyle là một kiểu hiển thị thông báo mở rộng cho phép hiển thị nhiều dòng văn bản (tối đa 7 dòng) trong khu vực mở rộng của thông báo. Phù hợp cho email, tin nhắn, hoặc danh sách mục ngắn.
Các bước thực hiện
Bước 1: Tạo dự án mới
Tạo project Android Studio mới.
Bước 2: Giao diện (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
tools:context=".MainActivity">
<Button
android:id="@+id/btnCreateNotification"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_centerInParent="true"
android:text="Tạo thông báo InboxStyle" />
</RelativeLayout>
Bước 3: MainActivity với InboxStyle (src/MainActivity.java)
package app.tutorialspoint.com.notifyme;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.os.Bundle;
import android.support.v4.app.NotificationCompat;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
public class MainActivity extends AppCompatActivity {
public static final String NOTIFICATION_CHANNEL_ID = "10001";
private final static String default_notification_channel_id = "default";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void createNotification(View view) {
NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(MainActivity.this, default_notification_channel_id);
mBuilder.setContentTitle("Thông báo hộp thư");
// ÁP DỤNG INBOXSTYLE
mBuilder.setStyle(new NotificationCompat.InboxStyle()
.addLine("Email 1: Chào bạn, đây là tin nhắn đầu tiên")
.addLine("Email 2: Cuộc họp vào 2pm hôm nay")
.addLine("Email 3: Đừng quên deadline dự án")
.addLine("Email 4: Mã xác thực: 123456")
.addLine("Email 5: Thông báo hệ thống")
.setBigContentTitle("5 tin nhắn mới")
.setSummaryText("hopthu@company.com"));
mBuilder.setContentText("Bạn có 5 tin nhắn mới");
mBuilder.setTicker("Thông báo hộp thư mới");
mBuilder.setSmallIcon(R.drawable.ic_launcher_foreground);
mBuilder.setAutoCancel(true);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
int importance = NotificationManager.IMPORTANCE_HIGH;
NotificationChannel notificationChannel = new NotificationChannel(
NOTIFICATION_CHANNEL_ID, "NOTIFICATION_CHANNEL_NAME", importance);
mBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
assert mNotificationManager != null;
mNotificationManager.createNotificationChannel(notificationChannel);
}
assert mNotificationManager != null;
mNotificationManager.notify((int) System.currentTimeMillis(), mBuilder.build());
}
}
Bước 4: AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
package="app.tutorialspoint.com.notifyme">
<uses-permission android:name="android.permission.VIBRATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Chạy ứng dụng
Chạy app, nhấn nút tạo thông báo. Kéo xuống thanh thông báo để xem dạng thu gọn, sau đó vuốt xuống thêm để xem dạng mở rộng với danh sách 5 dòng.

Các phương thức chính của InboxStyle
addLine(CharSequence)- Thêm một dòng vào danh sách (tối đa 7 dòng)setBigContentTitle(CharSequence)- Tiêu đề khi mở rộngsetSummaryText(CharSequence)- Văn bản tóm tắt ở cuối danh sách