Unter Android 12.0 (API-Level 31) und höher stellt das System den
CallStyle
-Benachrichtigungsvorlage, um Anrufbenachrichtigungen von
andere Arten von Benachrichtigungen. Verwenden Sie diese Vorlage, um eingehende oder
Benachrichtigungen zu laufenden Anrufen. Die Vorlage unterstützt großformatige Benachrichtigungen
die Anruferinformationen und erforderliche Aktionen wie
Anrufe ablehnen.
Da eingehende und laufende Anrufe Ereignisse mit hoher Priorität sind, werden diese Benachrichtigungen erhalten in der Benachrichtigungsleiste höchste Priorität. Dieses Ranking ermöglicht auch um diese priorisierten Anrufe an andere Geräte weiterzuleiten.
Die Benachrichtigungsvorlage CallStyle
enthält die folgenden erforderlichen Aktionen:
- Annehmen oder Ablehnen für eingehende Anrufe
- Beenden Sie für laufende Anrufe.
- Annehmen oder Beenden für den Anruf-Filter
Aktionen in diesem Stil werden als Schaltflächen angezeigt. Das System fügt Symbole und Text anpassen. Die manuelle Beschriftung der Schaltflächen wird nicht unterstützt. Weitere Informationen zu den Prinzipien zur Gestaltung von Benachrichtigungen finden Sie unter Benachrichtigungen:
<ph type="x-smartling-placeholder">Die erforderlichen Aktionen werden als Intents übergeben, z. B. hangupIntent
und
answerIntent
. Alle beziehen sich auf ein
Token, das vom System verwaltet wird. Das Token ist ein einfaches Objekt,
zwischen verschiedenen Apps und Prozessen übertragen werden. Das System ist
die Lebensdauer des Tokens zu verwalten und sicherzustellen,
PendingIntent
kann auch dann verwendet werden, wenn die App, die sie erstellt hat, nicht mehr
ausgeführt wird. Wenn Sie einer anderen App ein PendingIntent
zuweisen, gewähren Sie
die Berechtigung zum Ausführen des angegebenen Vorgangs, z. B. zum Ablehnen oder Antworten.
Diese Berechtigung wird auch dann gewährt, wenn die App, die den Intent erstellt hat,
wird derzeit nicht ausgeführt. Weitere Informationen finden Sie in der Referenzdokumentation.
für PendingIntent
.
Ab Android 14 (API-Level 34) kannst du Anrufbenachrichtigungen konfigurieren
nicht entfernbar ist. Verwende dazu CallStyle
-Benachrichtigungen mit dem
Notification.FLAG_ONGOING_EVENT
bis
Notification.Builder#setOngoing(true)
Im Folgenden findest du Beispiele für die Verwendung verschiedener Methoden mit dem CallStyle
.
Benachrichtigung.
Kotlin
// Create a new call, setting the user as the caller. val incomingCaller = Person.Builder() .setName("Jane Doe") .setImportant(true) .build()
Java
// Create a new call with the user as the caller. Person incomingCaller = new Person.Builder() .setName("Jane Doe") .setImportant(true) .build();
Eingehender Anruf
Verwenden Sie die Methode forIncomingCall()
, um eine Benachrichtigung im Aufrufstil für eine
Eingehender Anruf.
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)
Java
// 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);
Aktiver Anruf
Verwenden Sie die Methode forOngoingCall()
, um eine Benachrichtigung im Aufrufstil für eine
laufenden Anrufs.
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)
Java
// 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);
Anrufe filtern
Verwenden Sie die Methode forScreeningCall()
, um eine Benachrichtigung im Aufrufstil zu erstellen für
Anruf-Filter prüfen.
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)
Java
// 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);
Kompatibilität mit mehr Android-Versionen ermöglichen
Verknüpfen Sie CallStyle
-Benachrichtigungen in API-Version 30 oder niedriger mit einem
Dienste im Vordergrund, um ihnen den hohen Rang zuzuweisen, den sie in der API erhalten.
ab Level 31. Zusätzlich CallStyle
-Benachrichtigungen bei API-Version 30
oder früher, können ein ähnliches Ranking erzielen, indem sie die Benachrichtigung als
mit der Methode setColorized()
eingefärbt.
Verwenden Sie die Telecom APIs mit CallStyle
-Benachrichtigungen. Weitere Informationen finden Sie unter
Telecom-Framework – Übersicht