ContactPostActivatedEventArgs Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides data when an app is activated to post a contact.
JavaScript This type appears as WebUIContactPostActivatedEventArgs.
public ref class ContactPostActivatedEventArgs sealed : IActivatedEventArgs, IContactPostActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactPostActivatedEventArgs final : IActivatedEventArgs, IContactPostActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactPostActivatedEventArgs : IActivatedEventArgs, IContactPostActivatedEventArgs
Public NotInheritable Class ContactPostActivatedEventArgs
Implements IActivatedEventArgs, IContactPostActivatedEventArgs
- Inheritance
- Attributes
- Implements
Windows requirements
Device family |
Windows Desktop Extension SDK (introduced in 10.0.10240.0)
|
API contract |
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (introduced in v1.0)
|
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(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::Post())
{
auto postArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactPostActivatedEventArgs>() };
// Get contact display info.
auto contactName{ postArgs.Contact().DisplayName() };
auto contactThumbnail{ postArgs.Contact().Thumbnail() };
if (postArgs.ServiceId() == L"facebook.com")
{
auto userId = postArgs.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::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
}
}
}
}
Remarks
Windows 8.1 allows users to post to their contacts from the Contact Card 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.
Properties
Contact |
Gets the contact for the post. |
Kind |
Gets the activation type. |
PreviousExecutionState |
Gets the execution state of the app before it was activated. |
ServiceId |
Gets the identifier of the service used for the post. |
ServiceUserId |
Gets the user identifier of the service used for the post. |
SplashScreen |
Gets the splash screen object, which provides information about the transition from the splash screen to the activated app. |
Verb |
Gets the action to be performed. |