Freigeben über


ContactCallActivatedEventArgs Klasse

Definition

Stellt Daten bereit, wenn eine App zum Aufrufen eines Kontakts aktiviert wird.

Javascript Dieser Typ wird als WebUIContactCallActivatedEventArgs angezeigt.

public ref class ContactCallActivatedEventArgs sealed : IActivatedEventArgs, IContactCallActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactCallActivatedEventArgs final : IActivatedEventArgs, IContactCallActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactCallActivatedEventArgs : IActivatedEventArgs, IContactCallActivatedEventArgs
Public NotInheritable Class ContactCallActivatedEventArgs
Implements IActivatedEventArgs, IContactCallActivatedEventArgs
Vererbung
Object Platform::Object IInspectable ContactCallActivatedEventArgs
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows Desktop Extension SDK (eingeführt in 10.0.10240.0)
API contract
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (eingeführt in v1.0)

Beispiele

Im Folgenden finden Sie ein Beispiel für den Code, den Sie zum Verarbeiten von Kontaktanrufaktivierungen für PSTN-Nummern und Skype-IDs benötigen.

protected override void OnActivated(IActivatedEventArgs args)
{
    if (args.Kind == ActivationKind.Contact)
    {
        var contactArgs = args as IContactActivatedEventArgs;
        if (contactArgs.Verb == Windows.ApplicationModel.Contacts.ContactLaunchActionVerbs.Call)
        {
            IContactCallActivatedEventArgs callArgs = contactArgs as IContactCallActivatedEventArgs;

            //get contact display info
            var contactName = callArgs.Contact.DisplayName;
            var contactThumbnail = callArgs.Contact.Thumbnail;

            if (callArgs.ServiceId == "telephone")
            {
                var phoneNumber = callArgs.ServiceUserId;
                //add calling logic for PSTN numbers
            }
            else if (callArgs.ServiceId == "skype.com")
            {
                var userId = callArgs.ServiceUserId;
                //add calling logic for Skype Ids
            }
        }
    }
}
void App::OnActivated(Windows::ApplicationModel::Activation::IActivatedEventArgs const& args)
{
    if (args.Kind() == Windows::ApplicationModel::Activation::ActivationKind::Contact)
    {
        auto contactArgs{ args.as<Windows::ApplicationModel::Activation::IContactActivatedEventArgs>() };
        if (contactArgs.Verb() == Windows::ApplicationModel::Contacts::ContactLaunchActionVerbs::Call())
        {
            auto callArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactCallActivatedEventArgs>() };

            // Get contact display info.
            auto contactName{ callArgs.Contact().DisplayName() };
            auto contactThumbnail{ callArgs.Contact().Thumbnail() };

            if (callArgs.ServiceId() == L"telephone")
            {
                auto phoneNumber{ callArgs.ServiceUserId() };
                // Add calling logic for PSTN numbers.
            }
            else if (callArgs.ServiceId() == L"skype.com")
            {
                auto userId{ callArgs.ServiceUserId() };
                // Add calling logic for Skype Ids.
            }
        }
    }
}
void App::OnActivated(IActivatedEventArgs^ args)
{
    if (args->Kind == ActivationKind::Contact)
    {
        auto contactArgs = dynamic_cast<IContactActivatedEventArgs^>(args);
        if (contactArgs->Verb == Windows::ApplicationModel::Contacts::ContactLaunchActionVerbs::Call)
        {
            auto callArgs = dynamic_cast<ContactCallActivatedEventArgs^>(contactArgs);

            //get contact display info
            auto contactName = callArgs->Contact->DisplayName;
            auto contactThumbnail = callArgs->Contact->Thumbnail;

            if (callArgs->ServiceId == "telephone")
            {
                auto phoneNumber = callArgs->ServiceUserId;
                //add calling logic for PSTN numbers
            }
            else if (callArgs->ServiceId == "skype.com")
            {
                auto userId = callArgs->ServiceUserId;
                //add calling logic for Skype Ids
            }
        }
    }
}

Hinweise

Windows 8.1 ermöglicht Es Benutzern, ihre Kontakte über die Visitenkarte oder Windows Search-Benutzeroberfläche anzurufen. Durch die Implementierung des Vertrags zur Aktivierung von Kontaktanrufen kann Windows Ihre App starten, um Anrufe für den Benutzer zu tätigen.

Um Anrufaktivierungen zu erhalten, muss sich Ihre App für die Erweiterungskategorie "windows.contact" in ihrem Manifest registrieren. Unter dieser Erweiterung müssen Sie ein "LaunchAction"-Element mit dem Attribut "Verb" einschließen, das gleich "call" ist. Anschließend können Sie das "ServiceId"-Element angeben, um den Typ der von Ihnen unterstützten Aufrufe anzugeben. Wenn Ihre App beispielsweise Standard-PSTN-Anrufe verarbeitet, können Sie eine "ServiceId" von "Telefon" angeben. Wenn Ihre App Anrufe über einen webbasierten Dienst wie Skype verarbeitet, können Sie den Domänennamen dieses Diensts angeben, z. B. "skype.com".

Wenn mehrere Apps für diesen Vertrag registriert wurden, kann der Benutzer eine davon als Standard für die Behandlung von Anrufen auswählen.

Hinweis

Damit ein Benutzer Ihre App als standardanrufliche App für PSTN-Nummern festlegen kann, muss Ihre App auch das URI-Schema "tel" unterstützen.

Hier sehen Sie ein Beispiel für die Manifestregistrierung.

<m2:Extension Category="windows.contact" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
  <m2:Contact>
    <m2:ContactLaunchActions>
      <m2:LaunchAction Verb="call" DesiredView="useLess">
        <m2:ServiceId>telephone</m2:ServiceId>
        <m2:ServiceId>skype.com</m2:ServiceId>
      </m2:LaunchAction>
    </m2:ContactLaunchActions>
  </m2:Contact>
</m2:Extension>

Nachdem Sie sich in Ihrem Manifest registriert haben, kann Ihre App für den Vertrag für den Kontaktanruf aktiviert werden. Wenn Ihre App aktiviert ist, können Sie die Ereignisinformationen verwenden, um die Anrufaktivierung zu identifizieren und die Parameter zu extrahieren, die Ihnen beim Abschließen des Anrufs für den Benutzer helfen.

Informationen zum Behandeln der App-Aktivierung über Kontaktaktionen finden Sie unter Schnellstart: Behandeln von Kontaktaktionen .

Eigenschaften

Contact

Ruft den Kontakt für den Anruf ab.

Kind

Ruft den Aktivierungstyp ab.

PreviousExecutionState

Ruft den Ausführungsstatus der App ab, bevor sie aktiviert wurde.

ServiceId

Ruft den Bezeichner des Diensts ab, der für den Aufruf verwendet wird.

ServiceUserId

Ruft den Benutzerbezeichner des Diensts ab, der für den Aufruf verwendet wird.

SplashScreen

Ruft das Begrüßungsbildschirmobjekt ab, das Informationen zum Übergang vom Begrüßungsbildschirm zur aktivierten App bereitstellt.

Verb

Ruft die auszuführende Aktion ab.

Gilt für:

Weitere Informationen