Compartilhar via


ContactMessageActivatedEventArgs Classe

Definição

Fornece dados quando um aplicativo é ativado para enviar uma mensagem a um contato.

Javascript Esse tipo aparece como WebUIContactMessageActivatedEventArgs.

public ref class ContactMessageActivatedEventArgs sealed : IActivatedEventArgs, IContactMessageActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactMessageActivatedEventArgs final : IActivatedEventArgs, IContactMessageActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactMessageActivatedEventArgs : IActivatedEventArgs, IContactMessageActivatedEventArgs
Public NotInheritable Class ContactMessageActivatedEventArgs
Implements IActivatedEventArgs, IContactMessageActivatedEventArgs
Herança
Object Platform::Object IInspectable ContactMessageActivatedEventArgs
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 mensagens de contato para números PSTN e IDs do Skype.

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

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

            if (messageArgs.ServiceId == "telephone")
            {
                var phoneNumber = messageArgs.ServiceUserId;
                //add messaging logic for PSTN numbers
            }
            else if (messageArgs.ServiceId == "skype.com")
            {
                var userId = messageArgs.ServiceUserId;
                //add messaging 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::Message())
        {
            auto messageArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactMessageActivatedEventArgs>() };

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

            if (messageArgs.ServiceId() == L"telephone")
            {
                auto phoneNumber = messageArgs.ServiceUserId();
                // Add messaging logic for PSTN numbers.
            }
            else if (messageArgs.ServiceId() == L"skype.com")
            {
                auto userId = messageArgs.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::Message)
        {
            auto messageArgs = dynamic_cast<ContactMessageActivatedEventArgs^>(contactArgs);

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

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

Comentários

Windows 8.1 permite que os usuários remetam seus contatos no Cartão de Visita ou na experiência de Pesquisa do Windows. Implementando o contrato de ativação de mensagem de contato, o Windows pode iniciar seu aplicativo para enviar mensagens para o usuário.

Para receber ativações de mensagens, 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 "message". Em seguida, você pode especificar o elemento "ServiceId" para especificar o tipo de mensagem compatível. Por exemplo, se o aplicativo manipular mensagens de texto padrão, você poderá especificar uma "ServiceId" de "telefone". Se seu aplicativo manipular mensagens em um serviço baseado na Web, como o Skype, você poderá especificar o nome de domínio desse serviço, por exemplo, "skype.com".

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

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="message" DesiredView="useLess">
        <m2:ServiceId>telephone</m2:ServiceId>
      </m2:LaunchAction>
      <m2:LaunchAction Verb="message" DesiredView="useLess">
        <m2:ServiceId>skype.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 mensagem de contato. Quando seu aplicativo é ativado, você pode usar as informações de evento para identificar a ativação da mensagem e extrair os parâmetros que ajudam você a concluir o cenário de mensagens para o usuário.

Para obter informações sobre como lidar com a ativação do aplicativo por meio de ações de contato, consulte Início Rápido: Manipulando ações de contato .

Propriedades

Contact

Obtém o contato da mensagem.

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

ServiceUserId

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

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