Partilhar via


ContactCallActivatedEventArgs Classe

Definição

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

Javascript Esse tipo aparece como 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
Herança
Object Platform::Object IInspectable ContactCallActivatedEventArgs
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 chamada 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.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
            }
        }
    }
}

Comentários

Windows 8.1 permite que os usuários liguem para seus contatos por meio do Cartão de Visita ou da experiência do Windows Search. Ao implementar o contrato de ativação de chamada de contato, o Windows pode iniciar seu aplicativo para fazer chamadas para o usuário.

Para receber ativações de chamada, 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 "call". Em seguida, você pode especificar o elemento "ServiceId" para especificar o tipo de chamada compatível. Por exemplo, se seu aplicativo manipular chamadas PSTN padrão, você poderá especificar uma "ServiceId" de "telefone". Se o aplicativo lidar com chamadas 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 chamadas.

Observação

Para permitir que um usuário defina seu aplicativo como seu aplicativo de chamada padrão para números PSTN, seu aplicativo também deve dar suporte ao esquema de URI "tel".

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

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

ServiceUserId

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

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