ป้ายการแจ้งเตือนหรือที่เรียกว่าป้ายการแจ้งเตือนหรือที่เรียกว่า Android 8.0 (API ระดับ 26) เครื่องหมายจุดแสดงการแจ้งเตือน - ปรากฏบนไอคอน Launcher เมื่อแอปที่เชื่อมโยงมี การแจ้งเตือนที่ใช้งานอยู่ ผู้ใช้สามารถ แตะและ ค้างไว้ที่ไอคอนแอปเพื่อดูการแจ้งเตือน รวมถึง ทางลัดของแอป ดังที่แสดงใน รูปที่ 1
จุดเหล่านี้จะปรากฏในแอป Launcher ที่รองรับจุดเหล่านี้โดยค่าเริ่มต้น และจะมี คุณไม่ต้องดำเนินการใดๆ แต่อาจมีบางสถานการณ์ที่คุณ ไม่ต้องการให้เครื่องหมายจุดแสดงการแจ้งเตือนปรากฏขึ้น หรือคุณต้องการควบคุม ว่ามีการแจ้งเตือนใดบ้าง
รูปที่ 1 ป้ายการแจ้งเตือนและการแตะและ เมนูค้างไว้
ปิดใช้การติดป้าย
มีบางกรณีที่ป้ายไม่เหมาะกับการแจ้งเตือนของคุณ คุณจึง
สามารถปิดใช้สำหรับแต่ละช่องทางได้โดยการโทร
setShowBadge(false)
ใน NotificationChannel
ออบเจ็กต์
เช่น คุณอาจต้องการปิดใช้ป้ายการแจ้งเตือนในกรณีต่อไปนี้ สถานการณ์:
- การแจ้งเตือนต่อเนื่อง: การแจ้งเตือนที่ต่อเนื่องส่วนใหญ่ เช่น การประมวลผลรูปภาพ ตัวควบคุมการเล่นสื่อหรือคำแนะนำการนำทางปัจจุบันไม่สมเหตุสมผล เป็นป้าย
- การช่วยเตือนในปฏิทิน: หลีกเลี่ยงการติดป้ายกิจกรรมที่เกิดขึ้นในเวลาปัจจุบัน
- เหตุการณ์เกี่ยวกับนาฬิกาหรือการปลุก: หลีกเลี่ยงการติดป้ายการแจ้งเตือนที่เกี่ยวข้องกับการปลุกปัจจุบัน
โค้ดตัวอย่างต่อไปนี้แสดงวิธีซ่อนป้ายสำหรับ ช่องทางการแจ้งเตือน:
Kotlin
val id = "my_channel_01" val name = getString(R.string.channel_name) val descriptionText = getString(R.string.channel_description) val importance = NotificationManager.IMPORTANCE_LOW val mChannel = NotificationChannel(id, name, importance).apply { description = descriptionText setShowBadge(false) } val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager notificationManager.createNotificationChannel(mChannel)
Java
String id = "my_channel_01"; CharSequence name = getString(R.string.channel_name); String description = getString(R.string.channel_description); int importance = NotificationManager.IMPORTANCE_LOW; NotificationChannel mChannel = new NotificationChannel(id, name, importance); mChannel.setDescription(description); mChannel.setShowBadge(false); NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.createNotificationChannel(mChannel);
กำหนดจำนวนการแจ้งเตือนที่กำหนดเอง
โดยค่าเริ่มต้น การแจ้งเตือนแต่ละครั้งจะเพิ่มตัวเลขที่แสดงเมื่อมีการแตะและ กดค้าง ดังแสดงในรูปที่ 1 แต่คุณสามารถลบล้างตัวเลขนี้สำหรับแอปได้ ตัวอย่างเช่น วิธีนี้อาจเป็นประโยชน์หากคุณใช้การแจ้งเตือนเพียง 1 รายการเพื่อ แสดงข้อความใหม่หลายข้อความ แต่ต้องการให้จำนวนดังกล่าวแสดงถึง จำนวนข้อความใหม่ทั้งหมด
หากต้องการกำหนดหมายเลขที่กำหนดเอง โปรดโทร
setNumber()
ในการแจ้งเตือนดังที่แสดงด้านล่างนี้
Kotlin
var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setNumber(messageCount) .build()
Java
Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setNumber(messageCount) .build();
แก้ไขการแตะและ ไอคอนเมนูค้างไว้
การแตะและ เมนูการระงับจะแสดงไอคอนขนาดใหญ่หรือเล็กที่เชื่อมโยงกับ
การแจ้งเตือน (หากมี) โดยค่าเริ่มต้น ระบบจะแสดงไอคอนขนาดใหญ่ แต่
เธอโทรหา
Notification.Builder.setBadgeIconType()
และผ่านในBADGE_ICON_SMALL
เพื่อแสดงไอคอนขนาดเล็กอยู่เสมอ
Kotlin
var notification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL) .build()
Java
Notification notification = new NotificationCompat.Builder(MainActivity.this, CHANNEL_ID) .setContentTitle("New Messages") .setContentText("You've received 3 new messages.") .setSmallIcon(R.drawable.ic_notify_status) .setBadgeIconType(NotificationCompat.BADGE_ICON_SMALL) .build();
ซ่อนทางลัดที่ซ้ำกัน
หากแอปของคุณสร้างการแจ้งเตือนที่มีทางลัดของแอปซ้ำ คุณจะทําสิ่งต่อไปนี้ได้
ซ่อนทางลัดไว้ชั่วคราวขณะที่การแจ้งเตือนทำงานอยู่ด้วยการโทร
setShortcutId()
สำหรับโค้ดตัวอย่างเพิ่มเติมที่ใช้การแจ้งเตือน โปรดดูตัวอย่างบุคคล