ContactMessageActivatedEventArgs class
TOC
Collapse the table of content
Expand the table of content

ContactMessageActivatedEventArgs class

Provides data when an app is activated to send a message to a contact.

JavaScript:  This type appears as WebUIContactMessageActivatedEventArgs.

Syntax


public sealed class ContactMessageActivatedEventArgs : IContactMessageActivatedEventArgs,
    IContactActivatedEventArgs,
    IActivatedEventArgs

Members

The ContactMessageActivatedEventArgs class has these types of members:

Properties

The ContactMessageActivatedEventArgs class has these properties.

PropertyAccess typeDescription

Contact

Read-only

Gets the contact for the message.

Kind

Read-only

Gets the activation type.

PreviousExecutionState

Read-only

Gets the execution state of the app before it was activated.

ServiceId

Read-only

Gets the identifier of the service used for the message.

ServiceUserId

Read-only

Gets the user identifier of the service used for the message.

SplashScreen

Read-only

Gets the splash screen object, which provides information about the transition from the splash screen to the activated app.

Verb

Read-only

Gets the action to be performed.

 

Remarks

Windows 8.1 allows users to message their contacts from the Contact Card or Windows Search experience. By implementing the contact message activation contract, Windows can launch your app to send messages for the user.

To receive message activations, your app must register for the "windows.contact" extension category in its manifest. Under this extension, you must include a "LaunchAction" element with the "Verb" attribute equal to "message." You can then specify the "ServiceId" element to specify the type of messaging you support. For example, if your app handles standard text messages, you can specify a "ServiceId" of "telephone." If your app handles messaging over a web based service, like Skype, you can specify the domain name of that service, for example "skype.com."

If multiple apps have registered for this contract, the user can choose one of them as their default for handling messages.

Here is an example for manifest registration:



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


After you register in your manifest, your app can be activated for the contact message contract. When your app is activated, you can use the event information to identify the message activation and extract the parameters that help you complete the messaging scenario for the user.

For info about how to handle app activation through contact actions, see Quickstart: Handling contact actions (XAML) and Quickstart: Handling contact actions (HTML).

Examples

Here is an example of the code you need to handle contact message activations for PSTN numbers and Skype Ids:


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


Requirements (Windows 10 device family)

Device family

Desktop, introduced version 10.0.10240.0

API contract

Windows.ApplicationModel.Activation.ContactActivatedEventsContract, introduced version 1.0

Namespace

Windows.ApplicationModel.Activation
Windows::ApplicationModel::Activation [C++]

Metadata

Windows.ApplicationModel.Activation.ContactActivatedEventsContract.winmd

Requirements (Windows 8.x and Windows Phone 8.x)

Minimum supported client

Windows 8.1 [Windows Store apps only]

Minimum supported server

Windows Server 2012 R2 [Windows Store apps only]

Minimum supported phone

None supported

Namespace

Windows.ApplicationModel.Activation
Windows::ApplicationModel::Activation [C++]

Metadata

Windows.winmd

Attributes

[MarshalingBehavior(Agile)]
[Version(0x06030000)]

See also

Object
IContactMessageActivatedEventArgs
IContactActivatedEventArgs
IActivatedEventArgs
Handling Contact Actions sample

 

 

Show:
© 2016 Microsoft