서버에서 메시지를받는 응용 프로그램에서 작업하고 있습니다. 메시지를 받으면 알림이 나타납니다. 두 번째 메시지를 받으면 완전히 새로운 알림을 만드는 대신 스택해야합니다.Android 알림이 스택되지 않습니다.
메시지를 수신 할 때 실행할 방법이있는 인터페이스를 만들었습니다.
Server
개체는 메시지를 수신하는 곳이며, 생성자는 위에서 언급 한 인터페이스를 허용합니다.
서버 개체를 초기화 할 때 재정의 된 메서드로 알림을 만드는 수신기 인터페이스의 새 인스턴스를 전달합니다. 새로운 알림이 생성 될 때마다 나는 NEW_POST_NOTI
정수를 1 씩 증가시키고 그룹에 추가한다고 생각합니다. 같은 코드는 메시지가 수신 될 때마다 실행되는 것을
final int PUSHES_GROUP = 67;
int NEW_POST_NOTI = 56;
...
Server server = new Server((msg) -> {
nm = NotificationManagerCompat.from(ctx);
Notification noti = new NotificationCompat.Builder(ctx)
.setSmallIcon(R.drawable.ic_noti)
.setContentTitle("New Message")
.setContentText(msg)
.setGroup(PUSHES_GROUP)
.build();
nm.notify(NEW_PUSH_NOTI++, noti);
});
있지만 그룹화하는 대신 각 메시지에 대해 별도의 통지를 작성합니다
내 코드는 다음과 같습니다 . 또한 setStyle
을 사용하여 InboxStyle
으로 만들었지 만 동적으로 알림을 추가하는 방법을 잘 모르겠습니다. 내 논리에 문제가 있습니까? 아니면 단순히 Notification API를 잘못 사용하고 있습니까?
그룹화는 android wear입니다. 안드로이드 핸드 헬드의 경우 라인 및 요약과 함께받은 편지함 스타일을 사용하십시오 : https://developer.android.co.kr/training/wearables/notifications/stacks.html # AddSummary – njzk2
당신이 옳았습니다. 그럼에도 불구하고 상상하기는 쉽지 않지만 상당히 간단합니다. – Plays2