Notification 그룹 구성
7719 단어 AndroidNotification
다음은 Notification의 그룹 제작 방법을 확인합니다.
그룹 생성
1. 그룹의 아들인 Notification을 만들 때 setGroup() 방법으로 그룹의 이름을 설정합니다.
2. 그룹의 아버지인 Notification을 만들 때 setGroup () 방법으로 그룹 이름을 설정하고 setGroupSummary () 를 통해 진짜를 전달합니다
val CHANNEL_ID = "channel_id"
val SUMMARY_ID = 0
val GROUP_KEY = "group_key"
fun createChildNotification(num :Int): Notification {
val childNotification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID)
.setSmallIcon(R.drawable.ic_stat_name)
.setContentTitle("Content Title $num")
.setContentText("Content Text $num")
.setStyle(NotificationCompat.BigTextStyle()
.setBigContentTitle("BigContentTitle $num")
.setSummaryText("summary text $num")
.bigText("Big Text $num"))
.setGroup(GROUP_KEY)
.build()
return childNotification;
}
fun addSummaryNotification() {
val childNotification1 = createChildNotification(1)
val childNotification = createChildNotification(2)
val summaryNotification = NotificationCompat.Builder(this@MainActivity, CHANNEL_ID)
.setContentTitle("Summary")
.setSmallIcon(R.drawable.ic_stat_name)
.setGroup(GROUP_KEY)
.setGroupSummary(true)
.build()
val notificationManager = NotificationManagerCompat.from(this)
notificationManager.notify(1, childNotification1)
notificationManager.notify(2, childNotification)
notificationManager.notify(SUMMARY_ID, summaryNotification)
}
주의점
Notification 자동 그룹화
Android7.0 이후에는 Notification의 그룹을 설정하지 않아도 자동으로 그룹화됩니다.
API 클래스 26의 소스 코드를 확인한 후 다음 레벨에서 Notification 자동 조합 판정을 수행합니다.
com.android.server.notification.GroupHelper
AUTOGROUP은 자동 그룹화 조건으로 사용됩니다.AT_COUNT는 동일한 패키지 이름의 응용 프로그램이 4개 이상의 Notification을 표시하려고 하면 자동으로 그룹을 생성합니다.
자동으로 생성된 그룹의 상위 Notification에 PendingIntent, CATEGORY가 설정됨LAUNCHER 플래그가 있는 Activity를 시작합니다.
자동으로 그룹화할 때 Intent에 문제가 있으면 직접 그룹화할 Activity를 지정해야 합니다.
Gmail 애플리케이션은 메일 계정별로 그룹을 나누고 Summary를 눌렀을 때의 동작은 계정의 수신함을 엽니다.
총결산
참고 자료
https://developer.android.com/training/notify-user/group
https://material.io/design/platform-guidance/android-notifications.html
Reference
이 문제에 관하여(Notification 그룹 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Shotaro_Mori_/items/b4b3f5316762a677fc1c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)