기본 알림에는 보통 제목, 텍스트 줄, 그리고 수행할 수 있습니다. 더 많은 정보를 제공하기 위해 확장 가능한 알림으로 여러 알림 템플릿 중 하나를 이 문서에 설명되어 있습니다.
시작하려면
알림 만들기 그런 다음
통화
setStyle()
드림
각 템플릿에 해당하는 정보를
다음 예에 나와 있습니다.
큰 이미지 추가
알림에 이미지를 추가하려면
NotificationCompat.BigPictureStyle
드림
setStyle()
에게.
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_post) .setContentTitle(imageTitle) .setContentText(imageDescription) .setStyle(NotificationCompat.BigPictureStyle() .bigPicture(myBitmap)) .build()
자바
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_post) .setContentTitle(imageTitle) .setContentText(imageDescription) .setStyle(new NotificationCompat.BigPictureStyle() .bigPicture(myBitmap)) .build();
알림이 표시되는 동안에만 이미지가 썸네일로 표시되도록 하기 위해
축소되면 다음 그림과 같이
setLargeIcon()
드림
이미지를 전달합니다. 그런 다음
BigPictureStyle.bigLargeIcon()
드림
알림이 표시될 때 큰 아이콘이 사라지도록 null
를 전달합니다.
펼침:
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_post) .setContentTitle(imageTitle) .setContentText(imageDescription) .setLargeIcon(myBitmap) .setStyle(NotificationCompat.BigPictureStyle() .bigPicture(myBitmap) .bigLargeIcon(null)) .build()
자바
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_post) .setContentTitle(imageTitle) .setContentText(imageDescription) .setLargeIcon(myBitmap) .setStyle(new NotificationCompat.BigPictureStyle() .bigPicture(myBitmap) .bigLargeIcon(null)) .build();
큰 텍스트 블록 추가
신청
NotificationCompat.BigTextStyle
드림
를 사용하세요.
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_mail) .setContentTitle(emailObject.getSenderName()) .setContentText(emailObject.getSubject()) .setLargeIcon(emailObject.getSenderAvatar()) .setStyle(NotificationCompat.BigTextStyle() .bigText(emailObject.getSubjectAndSnippet())) .build()
자바
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_mail) .setContentTitle(emailObject.getSenderName()) .setContentText(emailObject.getSubject()) .setLargeIcon(emailObject.getSenderAvatar()) .setStyle(new NotificationCompat.BigTextStyle() .bigText(emailObject.getSubjectAndSnippet())) .build();
받은편지함 스타일 알림 만들기
신청
NotificationCompat.InboxStyle
드림
다음과 같이 여러 개의 짧은 요약 줄을 추가하려는 경우
추출하는 데 사용됩니다. 이렇게 하면 여러 콘텐츠 텍스트를 추가할 수 있습니다.
텍스트가 연속된 한 줄 대신 한 줄로 잘리는 문구
NotificationCompat.BigTextStyle
제공
새 줄을 추가하려면
addLine()
드림
최대 6회까지 보낼 수 있습니다 6개 이상 추가하는 경우
처음 6개만 보입니다.
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.baseline_email_24) .setContentTitle("5 New mails from Frank") .setContentText("Check them out") .setLargeIcon(BitmapFactory.decodeResource(resources, R.drawable.logo)) .setStyle( NotificationCompat.InboxStyle() .addLine("Re: Planning") .addLine("Delivery on its way") .addLine("Follow-up") ) .build()
자바
Notification notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.baseline_email_24) .setContentTitle("5 New mails from Frank") .setContentText("Check them out") .setLargeIcon(BitmapFactory.decodeResource(resources, R.drawable.logo)) .setStyle( NotificationCompat.InboxStyle() .addLine("Re: Planning") .addLine("Delivery on its way") .addLine("Follow-up") ) .build();
결과는 다음 그림과 같습니다.
<ph type="x-smartling-placeholder">를 통해 개인정보처리방침을 정의할 수 있습니다.알림에 대화 표시
신청
NotificationCompat.MessagingStyle
드림
를 사용하여 여러 사람 간의 순차적 메시지를 표시할 수 있습니다. 이는
일관성 있는 레이아웃을 제공하기 때문에
보낸 사람 이름과 메시지 텍스트를 개별적으로 처리하며 각 메시지는
여러 행으로 구성되어 있습니다.
새 메시지를 추가하려면
addMessage()
님,
메시지 텍스트, 받은 시간, 보낸 사람 이름을 전달합니다. 그 외에
이 정보를
NotificationCompat.MessagingStyle.Message
드림
객체에 추가합니다.
Kotlin
val message1 = NotificationCompat.MessagingStyle.Message( messages[0].getText(), messages[0].getTime(), messages[0].getSender()) val message2 = NotificationCompat.MessagingStyle.Message( messages[1].getText(), messages[1].getTime(), messages[1].getSender()) val notification = NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_message) .setStyle( NotificationCompat.MessagingStyle(resources.getString(R.string.reply_name)) .addMessage(message1) .addMessage(message2)) .build()
자바
NotificationCompat.MessagingStyle.Message message1 = new NotificationCompat.MessagingStyle.Message(messages[0].getText(), messages[0].getTime(), messages[0].getSender()); NotificationCompat.MessagingStyle.Message message2 = new NotificationCompat.MessagingStyle.Message(messages[1].getText(), messages[1].getTime(), messages[1].getSender()); Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) .setSmallIcon(R.drawable.new_message) .setStyle(new NotificationCompat.MessagingStyle(resources.getString(R.string.reply_name)) .addMessage(message1) .addMessage(message2)) .build();
NotificationCompat.MessagingStyle
를 사용할 때
setContentTitle()
및
setContentText()
무시됩니다.
다음을 호출할 수 있습니다.
setConversationTitle()
드림
대화 위에 표시되는 제목을 추가합니다. 이는
사용자가 만든 그룹 이름 또는 특정 이름이 없는 경우
생성할 수 있습니다. 대화 제목 설정 안함
일대일 채팅. 시스템이 이 필드의 존재를 힌트로 사용하기 때문입니다.
대화는 그룹입니다.
이 스타일은 Android 7.0 (API 수준 24) 이상을 실행하는 기기에만 적용됩니다.
호환성 라이브러리를 사용하는 경우
(NotificationCompat
),
앞에서 설명한 것처럼 MessagingStyle
가 있는 알림은 돌아갑니다.
지원되는 확장 알림 스타일로 자동 변경합니다.
채팅 대화에 대해 이와 같은 알림을 작성할 때는 직접 응답 작업을 참조하세요.
미디어 컨트롤로 알림 만들기
신청
MediaStyleNotificationHelper.MediaStyle
드림
을 사용하여 미디어 재생 컨트롤과 트랙 정보를 표시합니다.
연결된
MediaSession
생성자에 전달해야 합니다. 이렇게 하면 Android에서 기기에 관한 올바른 정보를
있습니다.
전화걸기
addAction()
드림
최대 5개의 아이콘 버튼을 표시할 수 있습니다. setLargeIcon()
번으로 전화 걸기
앨범 아트워크를 설정합니다.
다른 알림 스타일과 달리 MediaStyle
를 사용하면
표시되는 세 개의 작업 버튼을 지정하여 축소된 크기의 콘텐츠 보기를 이용할 수 있습니다.
표시됩니다. 이렇게 하려면
setShowActionsInCompactView()
다음 예는 미디어 컨트롤로 알림을 만드는 방법을 보여줍니다.
Kotlin
val notification = NotificationCompat.Builder(context, CHANNEL_ID) // Show controls on lock screen even when user hides sensitive content. .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setSmallIcon(R.drawable.ic_stat_player) // Add media control buttons that invoke intents in your media service .addAction(R.drawable.ic_prev, "Previous", prevPendingIntent) // #0 .addAction(R.drawable.ic_pause, "Pause", pausePendingIntent) // #1 .addAction(R.drawable.ic_next, "Next", nextPendingIntent) // #2 // Apply the media style template. .setStyle(MediaStyleNotificationHelper.MediaStyle(mediaSession) .setShowActionsInCompactView(1 /* #1: pause button \*/)) .setContentTitle("Wonderful music") .setContentText("My Awesome Band") .setLargeIcon(albumArtBitmap) .build()
자바
Notification notification = new NotificationCompat.Builder(context, CHANNEL_ID) // Show controls on lock screen even when user hides sensitive content. .setVisibility(NotificationCompat.VISIBILITY_PUBLIC) .setSmallIcon(R.drawable.ic_stat_player) // Add media control buttons that invoke intents in your media service .addAction(R.drawable.ic_prev, "Previous", prevPendingIntent) // #0 .addAction(R.drawable.ic_pause, "Pause", pausePendingIntent) // #1 .addAction(R.drawable.ic_next, "Next", nextPendingIntent) // #2 // Apply the media style template. .setStyle(new MediaStyleNotificationHelper.MediaStyle(mediaSession) .setShowActionsInCompactView(1 /* #1: pause button */)) .setContentTitle("Wonderful music") .setContentText("My Awesome Band") .setLargeIcon(albumArtBitmap) .build();
추가 리소스
MediaStyle
및
펼칠 수 있는 알림을 제공합니다.