Partager via


ContactPostActivatedEventArgs Classe

Définition

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

Javascript Ce type apparaît sous la forme WebUIContactPostActivatedEventArgs.

public ref class ContactPostActivatedEventArgs sealed : IActivatedEventArgs, IContactPostActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactPostActivatedEventArgs final : IActivatedEventArgs, IContactPostActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactPostActivatedEventArgs : IActivatedEventArgs, IContactPostActivatedEventArgs
Public NotInheritable Class ContactPostActivatedEventArgs
Implements IActivatedEventArgs, IContactPostActivatedEventArgs
Héritage
Object Platform::Object IInspectable ContactPostActivatedEventArgs
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 de publications de contact pour les ID Facebook.

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

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

            if (postArgs.ServiceId == "facebook.com")
            {
                var userId = postArgs.ServiceUserId;
                //add posting logic for Facebook 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::Post())
        {
            auto postArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactPostActivatedEventArgs>() };

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

            if (postArgs.ServiceId() == L"facebook.com")
            {
                auto userId = postArgs.ServiceUserId();
                //add messaging 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::Post)
        {
            auto postArgs = dynamic_cast<ContactPostActivatedEventArgs^>(contactArgs);

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

            if (postArgs->ServiceId == "facebook.com")
            {
                auto userId = postArgs->ServiceUserId;
                //add posting logic for Facebook Ids
            }
        }
    }
}

Remarques

Windows 8.1 permet aux utilisateurs de publier sur leurs contacts à partir de la carte de visite ou de l’expérience Recherche Windows. En implémentant le contrat de post-activation du contact, Windows peut lancer votre application pour publier pour l’utilisateur.

Pour recevoir des post-activations, 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 à « post ». Vous pouvez ensuite spécifier l’élément « ServiceId » pour spécifier le nom de domaine du service dans lequel votre application peut publier, par exemple « facebook.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 de la publication.

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="post" DesiredView="useLess">
        <m2:ServiceId>facebook.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 post-contact. Lorsque votre application est activée, vous pouvez utiliser les informations d’événement pour identifier la post-activation et extraire les paramètres qui vous aident à terminer le scénario de publication pour l’utilisateur.

Propriétés

Contact

Obtient le contact pour le billet.

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 la publication.

ServiceUserId

Obtient l’identificateur utilisateur du service utilisé pour la publication.

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