Partilhar via


ContactPostActivatedEventArgs Classe

Definição

Fornece dados quando um aplicativo é ativado para postar um contato.

Javascript Esse tipo aparece como 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
Herança
Object Platform::Object IInspectable ContactPostActivatedEventArgs
Atributos
Implementações

Requisitos do Windows

Família de dispositivos
Windows Desktop Extension SDK (introduzida na 10.0.10240.0)
API contract
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (introduzida na v1.0)

Exemplos

Aqui está um exemplo do código que você precisa para lidar com ativações de postagem de contato para IDs do 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
            }
        }
    }
}

Comentários

Windows 8.1 permite que os usuários postem em seus contatos a partir do Cartão de Visita ou da experiência do Windows Search. Ao implementar o contrato de ativação pós-contato, o Windows pode iniciar seu aplicativo para postar para o usuário.

Para receber ativações pós-ativações, seu aplicativo deve se registrar para a categoria de extensão "windows.contact" em seu manifesto. Nessa extensão, você deve incluir um elemento "LaunchAction" com o atributo "Verbo" igual a "post". Em seguida, você pode especificar o elemento "ServiceId" para especificar o nome de domínio do serviço no qual seu aplicativo pode postar, por exemplo , "facebook.com".

Se vários aplicativos tiverem se registrado para esse contrato, o usuário poderá escolher um deles como padrão para lidar com a postagem.

Aqui está um exemplo de registro de manifesto.

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

Depois que você se registrar no manifesto, seu aplicativo poderá ser ativado para o contrato de postagem de contato. Quando seu aplicativo é ativado, você pode usar as informações de evento para identificar a pós-ativação e extrair os parâmetros que ajudam você a concluir o cenário de postagem para o usuário.

Propriedades

Contact

Obtém o contato da postagem.

Kind

Obtém o tipo de ativação.

PreviousExecutionState

Obtém o estado de execução do aplicativo antes de ser ativado.

ServiceId

Obtém o identificador do serviço usado para a postagem.

ServiceUserId

Obtém o identificador de usuário do serviço usado para a postagem.

SplashScreen

Obtém o objeto de tela inicial, que fornece informações sobre a transição da tela inicial para o aplicativo ativado.

Verb

Obtém a ação a ser executada.

Aplica-se a

Confira também