ContactVideoCallActivatedEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные при активации приложения для видеозвонка контакта.
Javascript Этот тип отображается как 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
- Наследование
- Атрибуты
- Реализации
Требования к Windows
Семейство устройств |
Windows Desktop Extension SDK (появилось в 10.0.10240.0)
|
API contract |
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (появилось в v1.0)
|
Примеры
Ниже приведен пример кода, необходимого для обработки активации видеозвонка для идентификаторов Skype.
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
}
}
}
}
Комментарии
Windows 8.1 позволяет пользователям звонить по видеозвонку своим контактам из карточки контакта или интерфейса Поиска Windows. Реализуя контракт активации видеозвонка контакта, Windows может запустить приложение для выполнения видеозвонков для пользователя.
Чтобы получать активации видеовызовов, приложение должно зарегистрироваться в категории расширения "windows.contact" в своем манифесте. В этом расширении необходимо включить элемент LaunchAction с атрибутом Verb, равным videoCall. Затем можно указать элемент ServiceId, чтобы указать доменное имя службы, через которую приложение может выполнять видеозвонки, например "skype.com".
Если для этого контракта зарегистрировано несколько приложений, пользователь может выбрать одно из них по умолчанию для обработки видеозвонков.
Ниже приведен пример регистрации манифеста.
<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>
После регистрации в манифесте приложение можно активировать для контракта видеозвонка контакта. При активации приложения можно использовать сведения о событии, чтобы определить активацию видеозвонка и извлечь параметры, которые помогут вам выполнить видеозвонок для пользователя.
Свойства
Contact |
Возвращает контакт для видеозвонка. |
Kind |
Возвращает тип активации. |
PreviousExecutionState |
Возвращает состояние выполнения приложения до его активации. |
ServiceId |
Возвращает идентификатор службы, используемой для видеозвонка. |
ServiceUserId |
Возвращает идентификатор пользователя службы, используемой для видеозвонка. |
SplashScreen |
Возвращает объект экрана-заставки, предоставляющий сведения о переходе с экрана-заставки на активированное приложение. |
Verb |
Возвращает выполняемую операцию. |