ContactCallActivatedEventArgs Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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. |