WebUIContactMessageActivatedEventArgs 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 enviar uma mensagem a um contato.
public ref class WebUIContactMessageActivatedEventArgs sealed : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class WebUIContactMessageActivatedEventArgs final : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public sealed class WebUIContactMessageActivatedEventArgs : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
Public NotInheritable Class WebUIContactMessageActivatedEventArgs
Implements IActivatedEventArgs, IActivatedEventArgsDeferral, IContactMessageActivatedEventArgs
- 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
JavaScript
function activated(eventObject) {
if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.contact) {
if (eventObject.detail.verb === Windows.ApplicationModel.Contacts.ContactLaunchActionVerbs.message) {
//get contact display info
var contactName = eventObject.detail.contact.displayName;
var contactThumbnail = eventObject.detail.contact.thumbnail;
if (eventObject.detail.serviceId === "telephone") {
var phoneNumber = eventObject.detail.serviceUserId;
//add messaging logic for PSTN numbers
}
else if (eventObject.detail.serviceId === "skype.com") {
var userId = eventObject.detail.serviceUserId;
//add messaging logic for Skype Ids
}
}
}
}
Comentários
Esse objeto é acessado quando você implementa um manipulador de eventos para os eventos WinJS.Application.Onactivated ou Windows.UI.WebUI.WebUIApplication.activated quando ActivationKind é contatado.
Observação
Essa classe não é ágil, o que significa que você precisa considerar seu modelo de threading e o comportamento de marshaling. Para obter mais informações, consulte Threading e marshaling (C++/CX).
Windows 8.1 permite que os usuários remetam mensagens de seus contatos do Cartão de Visita ou da experiência do Windows Search. Ao implementar 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 mensagens 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 de se registrar em seu manifesto, seu aplicativo pode 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.
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:
Propriedades
ActivatedOperation |
Obtém a operação ativada pelo aplicativo. |
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. |