ContactCallActivatedEventArgs Classe

Définition

Fournit des données lorsqu’une application est activée pour appeler un contact.

Javascript Ce type apparaît sous la forme WebUIContactCallActivatedEventArgs.

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
Héritage
Object Platform::Object IInspectable ContactCallActivatedEventArgs
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows Desktop Extension SDK (introduit dans 10.0.10240.0)
API contract
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (introduit dans v1.0)

Exemples

Voici un exemple de code dont vous avez besoin pour gérer les activations d’appels de contact pour les numéros RTC et les ID Skype.

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
            }
        }
    }
}

Remarques

Windows 8.1 permet aux utilisateurs d’appeler leurs contacts à partir de la carte de visite ou de l’expérience Recherche Windows. En implémentant le contrat d’activation des appels de contact, Windows peut lancer votre application pour effectuer des appels pour l’utilisateur.

Pour recevoir des activations d’appel, votre application doit s’inscrire à la catégorie d’extension « windows.contact » dans son manifeste. Sous cette extension, vous devez inclure un élément « LaunchAction » avec l’attribut « Verb » égal à « call ». Vous pouvez ensuite spécifier l’élément « ServiceId » pour spécifier le type d’appel que vous prenez en charge. Par exemple, si votre application gère les appels RTC standard, vous pouvez spécifier un « ServiceId » de « téléphone ». Si votre application gère les appels sur un service web, comme Skype, vous pouvez spécifier le nom de domaine de ce service, par exemple « skype.com ».

Si plusieurs applications se sont inscrites pour ce contrat, l’utilisateur peut choisir l’une d’entre elles par défaut pour la gestion des appels.

Notes

Pour permettre à un utilisateur de définir votre application comme application d’appel par défaut pour les numéros RTC, votre application doit également prendre en charge le schéma d’URI « tel ».

Voici un exemple d’inscription de manifeste.

<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>

Une fois que vous vous êtes inscrit dans votre manifeste, votre application peut être activée pour le contrat d’appel de contact. Lorsque votre application est activée, vous pouvez utiliser les informations d’événement pour identifier l’activation de l’appel et extraire les paramètres qui vous aident à terminer l’appel pour l’utilisateur.

Pour plus d’informations sur la gestion de l’activation d’application par le biais d’actions de contact, consultez Démarrage rapide : Gestion des actions de contact .

Propriétés

Contact

Obtient le contact pour l’appel.

Kind

Obtient le type d’activation.

PreviousExecutionState

Obtient l’état d’exécution de l’application avant son activation.

ServiceId

Obtient l’identificateur du service utilisé pour l’appel.

ServiceUserId

Obtient l’identificateur utilisateur du service utilisé pour l’appel.

SplashScreen

Obtient l’objet d’écran de démarrage, qui fournit des informations sur la transition de l’écran de démarrage à l’application activée.

Verb

Obtient l’action à effectuer.

S’applique à

Voir aussi