ContactMessageActivatedEventArgs Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Fournit des données lorsqu’une application est activée pour envoyer un message à un contact.
Javascript Ce type apparaît sous la forme 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
- Héritage
- Attributs
- Implémente
Configuration requise pour Windows
Famille d’appareils |
Windows Desktop Extension SDK (introduit dans 10.0.10240.0)
|
API contract |
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (introduit dans v1.0)
|
Exemples
Voici un exemple de code dont vous avez besoin pour gérer les activations de messages de contact pour les numéros RTC et les ID 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
}
}
}
}
Remarques
Windows 8.1 permet aux utilisateurs d’envoyer des messages à leurs contacts à partir de la carte de visite ou de l’expérience Windows Search. En implémentant le contrat d’activation des messages de contact, Windows peut lancer votre application pour envoyer des messages à l’utilisateur.
Pour recevoir des activations de messages, votre application doit s’inscrire à la catégorie d’extension « windows.contact » dans son manifeste. Sous cette extension, vous devez inclure un élément « LaunchAction » avec l’attribut « Verb » égal à « message ». Vous pouvez ensuite spécifier l’élément « ServiceId » pour spécifier le type de messagerie que vous prenez en charge. Par exemple, si votre application gère les messages texte standard, vous pouvez spécifier un « ServiceId » de « téléphone ». Si votre application gère la messagerie via un service web, comme Skype, vous pouvez spécifier le nom de domaine de ce service, par exemple « skype.com ».
Si plusieurs applications se sont inscrites pour ce contrat, l’utilisateur peut choisir l’une d’elles par défaut pour la gestion des messages.
Voici un exemple d’inscription de manifeste.
<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>
Une fois que vous vous êtes inscrit dans votre manifeste, votre application peut être activée pour le contrat de message de contact. Lorsque votre application est activée, vous pouvez utiliser les informations d’événement pour identifier l’activation du message et extraire les paramètres qui vous aident à terminer le scénario de messagerie pour l’utilisateur.
Pour plus d’informations sur la gestion de l’activation d’application par le biais d’actions de contact, consultez Démarrage rapide : Gestion des actions de contact .
Propriétés
Contact |
Obtient le contact pour le message. |
Kind |
Obtient le type d’activation. |
PreviousExecutionState |
Obtient l’état d’exécution de l’application avant son activation. |
ServiceId |
Obtient l’identificateur du service utilisé pour le message. |
ServiceUserId |
Obtient l’identificateur utilisateur du service utilisé pour le message. |
SplashScreen |
Obtient l’objet d’écran de démarrage, qui fournit des informations sur la transition de l’écran de démarrage à l’application activée. |
Verb |
Obtient l’action à effectuer. |