Dela via


ContactMapActivatedEventArgs Class

Definition

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

JavaScript This type appears as WebUIContactMapActivatedEventArgs.

public ref class ContactMapActivatedEventArgs sealed : IActivatedEventArgs, IContactMapActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactMapActivatedEventArgs final : IActivatedEventArgs, IContactMapActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactMapActivatedEventArgs : IActivatedEventArgs, IContactMapActivatedEventArgs
Public NotInheritable Class ContactMapActivatedEventArgs
Implements IActivatedEventArgs, IContactMapActivatedEventArgs
Inheritance
Object Platform::Object IInspectable ContactMapActivatedEventArgs
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 map activations.

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

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

            var address = mapArgs.address;
            //add mapping logic
        }
    }
}
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::Map())
        {
            auto mapArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactMapActivatedEventArgs>() };

            // Get contact display info.
            auto contactName{ mapArgs.Contact().DisplayName() };
            auto contactThumbnail{ mapArgs.Contact().Thumbnail() };

            auto address{ mapArgs.Address() };
            // Add mapping logic.
        }
    }
}
void App::OnActivated(IActivatedEventArgs^ args)
{
    if (args->Kind == ActivationKind::Contact)
    {
        auto contactArgs = dynamic_cast<IContactActivatedEventArgs^>(args);
        if (contactArgs->Verb == Windows::ApplicationModel::Contacts::ContactLaunchActionVerbs::Map)
        {
            auto mapArgs = dynamic_cast<ContactMapActivatedEventArgs^>(contactArgs);

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

            auto address = mapArgs->address;
            //add mapping logic
        }
    }
}

Remarks

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

To receive map 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 "map."

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

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="map" DesiredView="useHalf"/>
    </m2:ContactLaunchActions>
  </m2:Contact>
</m2:Extension>

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

For info about how to handle app activation through contact actions, see Quickstart: Handling contact actions .

Properties

Address

Gets the address of a contact for the mapping operation.

Contact

Gets the contact for the mapping operation.

Kind

Gets the activation type.

PreviousExecutionState

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

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.

Applies to

See also