Freigeben über


ContactMessageActivatedEventArgs Klasse

Definition

Stellt Daten bereit, wenn eine App zum Senden einer Nachricht an einen Kontakt aktiviert wird.

Javascript Dieser Typ wird als WebUIContactMessageActivatedEventArgs angezeigt.

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
Vererbung
Object Platform::Object IInspectable ContactMessageActivatedEventArgs
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows Desktop Extension SDK (eingeführt in 10.0.10240.0)
API contract
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (eingeführt in v1.0)

Beispiele

Im Folgenden finden Sie ein Beispiel für den Code, den Sie für die Aktivierung von Kontaktnachrichten für PSTN-Nummern und Skype-IDs benötigen.

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
            }
        }
    }
}

Hinweise

Windows 8.1 ermöglicht Es Benutzern, ihren Kontakten eine Nachricht über die Visitenkarte oder Windows Search-Benutzeroberfläche zu senden. Durch die Implementierung des Vertrags zur Aktivierung von Kontaktnachrichten kann Windows Ihre App starten, um Nachrichten für den Benutzer zu senden.

Um Nachrichtenaktivierungen zu empfangen, muss sich Ihre App für die Erweiterungskategorie "windows.contact" in ihrem Manifest registrieren. Unter dieser Erweiterung müssen Sie ein "LaunchAction"-Element mit dem Attribut "Verb" einschließen, das gleich "message" ist. Anschließend können Sie das "ServiceId"-Element angeben, um den Typ des von Ihnen unterstützten Messagings anzugeben. Wenn Ihre App beispielsweise Standard-Textnachrichten verarbeitet, können Sie eine "ServiceId" von "Telefon" angeben. Wenn Ihre App Messaging über einen webbasierten Dienst wie Skype verarbeitet, können Sie den Domänennamen dieses Diensts angeben, z. B. "skype.com".

Wenn mehrere Apps für diesen Vertrag registriert wurden, kann der Benutzer eine davon als Standard für die Verarbeitung von Nachrichten auswählen.

Hier sehen Sie ein Beispiel für die Manifestregistrierung.

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

Nachdem Sie sich in Ihrem Manifest registriert haben, kann Ihre App für den Vertrag mit der Kontaktnachricht aktiviert werden. Wenn Ihre App aktiviert ist, können Sie die Ereignisinformationen verwenden, um die Nachrichtenaktivierung zu identifizieren und die Parameter zu extrahieren, mit denen Sie das Messagingszenario für den Benutzer abschließen können.

Informationen zum Behandeln der App-Aktivierung über Kontaktaktionen finden Sie unter Schnellstart: Behandeln von Kontaktaktionen .

Eigenschaften

Contact

Ruft den Kontakt für die Nachricht ab.

Kind

Ruft den Aktivierungstyp ab.

PreviousExecutionState

Ruft den Ausführungsstatus der App ab, bevor sie aktiviert wurde.

ServiceId

Ruft den Bezeichner des Diensts ab, der für die Nachricht verwendet wird.

ServiceUserId

Ruft den Benutzerbezeichner des Diensts ab, der für die Nachricht verwendet wird.

SplashScreen

Ruft das Begrüßungsbildschirmobjekt ab, das Informationen zum Übergang vom Begrüßungsbildschirm zur aktivierten App bereitstellt.

Verb

Ruft die auszuführende Aktion ab.

Gilt für:

Weitere Informationen