Dela via


ContactVideoCallActivatedEventArgs Class

Definition

Provides data when an app is activated to video call a contact.

JavaScript This type appears as WebUIContactVideoCallActivatedEventArgs.

public ref class ContactVideoCallActivatedEventArgs sealed : IActivatedEventArgs, IContactVideoCallActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactVideoCallActivatedEventArgs final : IActivatedEventArgs, IContactVideoCallActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactVideoCallActivatedEventArgs : IActivatedEventArgs, IContactVideoCallActivatedEventArgs
Public NotInheritable Class ContactVideoCallActivatedEventArgs
Implements IActivatedEventArgs, IContactVideoCallActivatedEventArgs
Inheritance
Object Platform::Object IInspectable ContactVideoCallActivatedEventArgs
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 video call activations for 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.VideoCall)
        {
            IContactVideoCallActivatedEventArgs videoCallArgs = contactArgs as IContactVideoCallActivatedEventArgs;

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

            if (videoCallArgs.ServiceId == "skype.com")
            {
                var userId = videoCallArgs.ServiceUserId;
                //add video calling logic for Skype 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::VideoCall())
        {
            auto videoCallArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactVideoCallActivatedEventArgs>() };

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

            if (videoCallArgs.ServiceId() == L"skype.com")
            {
                auto userId = videoCallArgs.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::VideoCall)
        {
            auto videoCallArgs = dynamic_cast<ContactVideoCallActivatedEventArgs^>(contactArgs);

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

            if (videoCallArgs->ServiceId == "skype.com")
            {
                auto userId = videoCallArgs->ServiceUserId;
                //add video calling logic for Skype Ids
            }
        }
    }
}

Remarks

Windows 8.1 allows users to video call their contacts from the Contact Card or Windows Search experience. By implementing the contact video call activation contract, Windows can launch your app to make video calls for the user.

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

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

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="videoCall" DesiredView="useHalf">
        <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 video call contract. When your app is activated, you can use the event information to identify the video call activation and extract the parameters that help you complete the video call for the user.

Properties

Contact

Gets the contact for the video call.

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 video call.

ServiceUserId

Gets the user identifier of the service used for the video call.

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