Connection.OnShowIncomingCallUi Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Benachrichtigt dies Connection , dass sie ConnectionService für die Anzeige der Benutzeroberfläche für eingehende Anrufe für die Connection.
[Android.Runtime.Register("onShowIncomingCallUi", "()V", "GetOnShowIncomingCallUiHandler", ApiSince=26)]
public virtual void OnShowIncomingCallUi();
[<Android.Runtime.Register("onShowIncomingCallUi", "()V", "GetOnShowIncomingCallUiHandler", ApiSince=26)>]
abstract member OnShowIncomingCallUi : unit -> unit
override this.OnShowIncomingCallUi : unit -> unit
- Attribute
Hinweise
Benachrichtigt dies Connection , dass sie ConnectionService für die Anzeige der Benutzeroberfläche für eingehende Anrufe für die Connection.
Wird nur für eingehende Anrufe aufgerufen, die über eine selbstverwaltete ConnectionService (siehe PhoneAccount#CAPABILITY_SELF_MANAGED) hinzugefügt werden, wo die ConnectionService eigene Benutzeroberfläche für eingehende Anrufe angezeigt werden soll.
Wenn es laufende Anrufe in anderen selbstverwalteten ConnectionServiceAnrufen oder in einem regulären ConnectionServiceAnruf gibt und es nicht möglich ist, diese anderen Anrufe zu halten, zeigt das Telecom-Framework seine eigene Benutzeroberfläche für eingehende Anrufe an, um dem Benutzer zu ermöglichen, auszuwählen, ob der neue eingehende Anruf angenommen und andere laufende Anrufe getrennt werden soll oder ob der neue eingehende Anruf abgelehnt werden soll.
Sie sollten die Anzeige der Benutzeroberfläche für eingehende Anrufe für Ihre Anwendung auslösen, indem Sie eine Notification mit einem angegebenen Vollbildmodus Intent anzeigen.
Im Anwendungscode sollten Sie eine android.app.NotificationChannel für eingehende Anrufbenachrichtigungen aus Ihrer App erstellen:
<code>
NotificationChannel channel = new NotificationChannel(YOUR_CHANNEL_ID, "Incoming Calls",
NotificationManager.IMPORTANCE_MAX);
// other channel setup stuff goes here.
// We'll use the default system ringtone for our incoming call notification channel. You can
// use your own audio resource here.
Uri ringtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
channel.setSound(ringtoneUri, new AudioAttributes.Builder()
// Setting the AudioAttributes is important as it identifies the purpose of your
// notification sound.
.setUsage(AudioAttributes.USAGE_NOTIFICATION_RINGTONE)
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.build());
NotificationManager mgr = getSystemService(NotificationManager.class);
mgr.createNotificationChannel(channel);
</code>
Wenn es an der Zeit ist, eine Benachrichtigung für Ihren eingehenden Anruf zu posten, stellen Sie sicher, dass er Ihren eingehenden Anruf android.app.NotificationChannelverwendet.
<code>
// Create an intent which triggers your fullscreen incoming call user interface.
Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_USER_ACTION | Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(context, YourIncomingCallActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 1, intent, PendingIntent.FLAG_MUTABLE_UNAUDITED);
// Build the notification as an ongoing high priority item; this ensures it will show as
// a heads up notification which slides down over top of the current content.
final Notification.Builder builder = new Notification.Builder(context);
builder.setOngoing(true);
builder.setPriority(Notification.PRIORITY_HIGH);
// Set notification content intent to take user to fullscreen UI if user taps on the
// notification body.
builder.setContentIntent(pendingIntent);
// Set full screen intent to trigger display of the fullscreen UI when the notification
// manager deems it appropriate.
builder.setFullScreenIntent(pendingIntent, true);
// Setup notification content.
builder.setSmallIcon( yourIconResourceId );
builder.setContentTitle("Your notification title");
builder.setContentText("Your notification content.");
// Set notification as insistent to cause your ringtone to loop.
Notification notification = builder.build();
notification.flags |= Notification.FLAG_INSISTENT;
// Use builder.addAction(..) to add buttons to answer or reject the call.
NotificationManager notificationManager = mContext.getSystemService(
NotificationManager.class);
notificationManager.notify(YOUR_CHANNEL_ID, YOUR_TAG, YOUR_ID, notification);
</code>
Java Dokumentation für android.telecom.Connection.onShowIncomingCallUi().
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.