WebUIContactMessageActivatedEventArgs WebUIContactMessageActivatedEventArgs WebUIContactMessageActivatedEventArgs WebUIContactMessageActivatedEventArgs Class

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

Syntax

Declaration

public sealed class WebUIContactMessageActivatedEventArgspublic sealed class WebUIContactMessageActivatedEventArgsPublic NotInheritable Class WebUIContactMessageActivatedEventArgs

Remarks

This object is accessed when you implement an event handler for the WinJS.Application.Onactivated or the Activated events when ActivationKind is contact.

Note

: This class is not agile, which means that you need to consider its threading model and marshaling behavior. For more info, see Threading and Marshaling (C++/CX).

Windows 8.1 allows users to message their contacts from the ShowContactCard(Windows.ApplicationModel.Contacts.Contact,Windows.Foundation.Rect) 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.

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

Examples

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

Properties summary

Gets the app activated operation.

Gets the contact for the message.

Gets the activation type.

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

Gets the identifier of the service used for the message.

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

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

Gets the action to be performed.

Properties

  • ActivatedOperation
    ActivatedOperation
    ActivatedOperation
    ActivatedOperation

    Gets the app activated operation.

    public ActivatedOperation ActivatedOperation { get; }public ActivatedOperation ActivatedOperation { get; }Public ReadOnly Property ActivatedOperation As ActivatedOperation

    Property Value

  • Contact
    Contact
    Contact
    Contact

    Gets the contact for the message.

    public Contact Contact { get; }public Contact Contact { get; }Public ReadOnly Property Contact As Contact

    Property Value

    Remarks

    Use the Contact property to collect additional info about the contact that is being messaged. The contact can have a name and thumbnail that can be used to represent it in your app’s UI. Or, the contact can have alternative user ids that can be used in case the primary user id is unavailable. The ConnectedServiceAccounts property contains a list of all services available for the contact. You can use the ServiceName and Id properties on each service to retrieve alternative services and user ids respectively.

    Here are possible Contact properties that can be populated during a message activation:

  • Kind
    Kind
    Kind
    Kind

    Gets the activation type.

    public ActivationKind Kind { get; }public ActivationKind Kind { get; }Public ReadOnly Property Kind As ActivationKind

    Property Value

  • PreviousExecutionState
    PreviousExecutionState
    PreviousExecutionState
    PreviousExecutionState

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

    public ApplicationExecutionState PreviousExecutionState { get; }public ApplicationExecutionState PreviousExecutionState { get; }Public ReadOnly Property PreviousExecutionState As ApplicationExecutionState

    Property Value

  • ServiceId
    ServiceId
    ServiceId
    ServiceId

    Gets the identifier of the service used for the message.

    public string ServiceId { get; }public string ServiceId { get; }Public ReadOnly Property ServiceId As string

    Property Value

    • string
      string
      string
      string

      The identifier of the service used for the message.

    Remarks

    For standard text messages, the ServiceId property is set to "telephone." For web service-based messaging, the ServiceId property is set to the domain name of the service to be used for messaging, for example "skype.com." Your app will only receive message activations for ServiceIds that match the "ServiceId" elements that your app has registered in its manifest.

  • ServiceUserId
    ServiceUserId
    ServiceUserId
    ServiceUserId

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

    public string ServiceUserId { get; }public string ServiceUserId { get; }Public ReadOnly Property ServiceUserId As string

    Property Value

    • string
      string
      string
      string

      The user identifier of the service used for the message.

    Remarks

    For standard text messaging, the ServiceUserId property is set to the mobile number for the contact. For web-based services, the ServiceUserId property is set to the contact’s user id for that particular service.

  • SplashScreen
    SplashScreen
    SplashScreen
    SplashScreen

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

    public SplashScreen SplashScreen { get; }public SplashScreen SplashScreen { get; }Public ReadOnly Property SplashScreen As SplashScreen

    Property Value

  • Verb
    Verb
    Verb
    Verb

    Gets the action to be performed.

    public string Verb { get; }public string Verb { get; }Public ReadOnly Property Verb As string

    Property Value

    • string
      string
      string
      string

      The action to be performed.

    Remarks

    Use the Verb property to determine the action to perform when your app is activated with ActivationKind. For message activations, the Verb property is set to the value of Message.

Device family

Windows Desktop Extension SDK (introduced v10.0.10240.0)

API contract

Windows.ApplicationModel.Activation.ContactActivatedEventsContract (introduced v1)

Attributes

Windows.Foundation.Metadata.MarshalingBehaviorAttribute
Windows.Foundation.Metadata.ContractVersionAttribute

Details

Assembly

Windows.UI.WebUI.dll