Android 12.0 (API 수준 31) 이상에서 시스템은
전화 알림을 구별할 CallStyle
알림 템플릿
알림을 받을 수 있습니다. 이 템플릿을 사용하여 새로 추가 또는
진행 중인 전화 알림 템플릿이 대형 알림을 지원합니다.
발신자 정보 및 필수 작업(예: 전화 받기 또는 전화 걸기)을 포함하는
도움이 될 수 있습니다
수신 전화와 진행 중인 전화는 우선순위가 높은 이벤트이므로 이러한 알림은 우선순위가 가장 높은 알림을 수신합니다. 또한 이러한 순위를 통해 우선순위가 지정된 통화를 다른 기기로 착신전환할 수 있습니다.
CallStyle
알림 템플릿에는 다음과 같은 필수 작업이 포함되어 있습니다.
- 수신 전화의 받기 또는 거부
- 진행 중인 통화의 전화를 끊습니다.
- 통화 선택을 위해 받기 또는 전화 끊기
이 스타일의 작업은 버튼으로 표시되며, 시스템에서 자동으로 적절한 아이콘과 텍스트를 표시합니다. 버튼에 대한 수동 라벨 지정은 지원되지 않습니다. 알림 설계 원칙에 관한 자세한 내용은 알림:
필요한 작업은 hangupIntent
및
answerIntent
자세히 알아보기 이러한 각 항목은
유지관리합니다. 토큰은 경량 객체로
여러 앱과 프로세스 간에 전달될 수 있습니다. 시스템은
토큰의 수명을 관리하고
PendingIntent
을(를) 만든 앱이 더 이상 사용되지 않아도 사용할 수 있음
있습니다 다른 앱에 PendingIntent
권한을 부여하면
거부 또는 응답과 같은 지정된 작업을 수행할 수 있는 권한입니다.
이 권한은 인텐트를 만든 앱이더라도
이(가) 현재 실행되고 있지 않습니다. 자세한 내용은 참조 문서를 확인하세요.
(PendingIntent
)
Android 14 (API 수준 34)부터 전화 알림을 구성할 수 있습니다.
닫을 수 없습니다. 이렇게 하려면 CallStyle
알림을
Notification.FLAG_ONGOING_EVENT
~
Notification.Builder#setOngoing(true)
입니다.
다음은 CallStyle
와 함께 다양한 메서드를 사용하는 예입니다.
있습니다.
Kotlin
// Create a new call, setting the user as the caller. val incomingCaller = Person.Builder() .setName("Jane Doe") .setImportant(true) .build()
자바
// Create a new call with the user as the caller. Person incomingCaller = new Person.Builder() .setName("Jane Doe") .setImportant(true) .build();
수신 전화
forIncomingCall()
메서드를 사용하여 다음에 관한 통화 스타일 알림을 만듭니다.
수신 전화
Kotlin
// Create a call style notification for an incoming call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent)) .addPerson(incomingCaller)
자바
// Create a call style notification for an incoming call. Notification.Builder builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forIncomingCall(caller, declineIntent, answerIntent)) .addPerson(incomingCaller);
진행 중인 통화
forOngoingCall()
메서드를 사용하여 다음에 관한 통화 스타일 알림을 만듭니다.
진행 중인 통화입니다.
Kotlin
// Create a call style notification for an ongoing call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forOngoingCall(caller, hangupIntent)) .addPerson(second_caller)
자바
// Create a call style notification for an ongoing call. Notification.Builder builder = new Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forOngoingCall(caller, hangupIntent)) .addPerson(second_caller);
통화 선택
forScreeningCall()
메서드를 사용하여 다음에 관한 통화 스타일 알림을 만듭니다.
통화 선택
Kotlin
// Create a call style notification for screening a call. val builder = Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent)) .addPerson(second_caller)
자바
// Create a call style notification for screening a call. Notification.Builder builder = new Notification.Builder(context, CHANNEL_ID) .setContentIntent(contentIntent) .setSmallIcon(smallIcon) .setStyle( Notification.CallStyle.forScreeningCall(caller, hangupIntent, answerIntent)) .addPerson(second_caller);
더 많은 Android 버전과의 호환성 제공
API 버전 30 이하의 CallStyle
알림을
포그라운드 서비스로 이전하여 API에서 부여된 높은 순위를 할당
합니다. 또한 API 버전 30의 CallStyle
알림
또는 그 이전에 알림을 받도록 표시하면 됩니다.
setColorized()
메서드를 사용하여 색상으로 지정됩니다.
CallStyle
알림과 함께 Telecom API를 사용합니다. 자세한 내용은
텔레콤 프레임워크 개요