ContactPostActivatedEventArgs ContactPostActivatedEventArgs ContactPostActivatedEventArgs ContactPostActivatedEventArgs Class

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

JavaScript This type appears as WebUIContactPostActivatedEventArgs.

Syntax

Declaration

public sealed class ContactPostActivatedEventArgspublic sealed class ContactPostActivatedEventArgsPublic NotInheritable Class ContactPostActivatedEventArgs

Remarks

Windows 8.1 allows users to post to their contacts from the ShowContactCard(Windows.ApplicationModel.Contacts.Contact,Windows.Foundation.Rect) or Windows Search experience. By implementing the contact post activation contract, Windows can launch your app to post for the user.

To receive post 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 "post." You can then specify the "ServiceId" element to specify the domain name of the service that your app can post to, for example "facebook.com."

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

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="post" DesiredView="useLess">
        <m2:ServiceId>facebook.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 post contract. When your app is activated, you can use the event information to identify the post activation and extract the parameters that help you complete the post scenario for the user.

Examples

Here is an example of the code you need to handle contact post activations for Facebook Ids:

protected override void OnActivated(IActivatedEventArgs args)
{
    if (args.Kind == ActivationKind.Contact)
    {
        var contactArgs = args as IContactActivatedEventArgs;
        if (contactArgs.Verb == Windows.ApplicationModel.Contacts.ContactLaunchActionVerbs.Post)
        { 
            IContactPostActivatedEventArgs postArgs = contactArgs as IContactPostActivatedEventArgs;

     //get contact display info
     var contactName = postArgs.Contact.DisplayName;
            var contactThumbnail = postArgs.Contact.Thumbnail;

            if (postArgs.ServiceId == "facebook.com")
            {
                var userId = postArgs.ServiceUserId;
                //add posting logic for Facebook Ids
            }
        }

    }
}
void App::OnActivated(IActivatedEventArgs^ args)
{
 if (args->Kind == ActivationKind::Contact)
 {
  auto contactArgs = dynamic_cast<IContactActivatedEventArgs^>(args);
  if (contactArgs->Verb == Windows::ApplicationModel::Contacts::ContactLaunchActionVerbs::Post)
  {
   auto postArgs = dynamic_cast<ContactPostActivatedEventArgs^>(contactArgs);

       //get contact display info
auto contactName = postArgs->Contact->DisplayName;
   auto contactThumbnail = postArgs->Contact->Thumbnail;

   if (postArgs->ServiceId == "facebook.com")
   {
    auto userId = postArgs->ServiceUserId;
    //add posting logic for Facebook Ids
   }
  }
 }
}

Properties summary

Gets the contact for the post.

Gets the activation type.

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

Gets the identifier of the service used for the post.

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

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

  • Contact
    Contact
    Contact
    Contact

    Gets the contact for the post.

    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 posted to. 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 Id property on each service to retrieve alternative user ids.

    Note

    For post activations, the ConnectedServiceAccounts property is only populated with services that match the primary service that the activation was originally invoked for.

    Here are possible Contact properties that can be populated during a post 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 post.

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

    Remarks

    Your app will only receive post 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 post.

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

    Remarks

    The ServiceUserId property is set to the contact’s user id for the service that is being posted to.

  • 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 post activations, the Verb property is set to the value of Post.

Device family

Windows Desktop Extension SDK (introduced v10.0.10240.0)

API contract

Windows.ApplicationModel.Activation.ContactActivatedEventsContract (introduced v1)

Attributes

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

Details

Assembly

Windows.ApplicationModel.Activation.dll