ContactCallActivatedEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные при активации приложения для вызова контакта.
Javascript Этот тип отображается как WebUIContactCallActivatedEventArgs.
public ref class ContactCallActivatedEventArgs sealed : IActivatedEventArgs, IContactCallActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactCallActivatedEventArgs final : IActivatedEventArgs, IContactCallActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactCallActivatedEventArgs : IActivatedEventArgs, IContactCallActivatedEventArgs
Public NotInheritable Class ContactCallActivatedEventArgs
Implements IActivatedEventArgs, IContactCallActivatedEventArgs
- Наследование
- Атрибуты
- Реализации
Требования к 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.Call)
{
IContactCallActivatedEventArgs callArgs = contactArgs as IContactCallActivatedEventArgs;
//get contact display info
var contactName = callArgs.Contact.DisplayName;
var contactThumbnail = callArgs.Contact.Thumbnail;
if (callArgs.ServiceId == "telephone")
{
var phoneNumber = callArgs.ServiceUserId;
//add calling logic for PSTN numbers
}
else if (callArgs.ServiceId == "skype.com")
{
var userId = callArgs.ServiceUserId;
//add 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::Call())
{
auto callArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactCallActivatedEventArgs>() };
// Get contact display info.
auto contactName{ callArgs.Contact().DisplayName() };
auto contactThumbnail{ callArgs.Contact().Thumbnail() };
if (callArgs.ServiceId() == L"telephone")
{
auto phoneNumber{ callArgs.ServiceUserId() };
// Add calling logic for PSTN numbers.
}
else if (callArgs.ServiceId() == L"skype.com")
{
auto userId{ callArgs.ServiceUserId() };
// Add calling 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::Call)
{
auto callArgs = dynamic_cast<ContactCallActivatedEventArgs^>(contactArgs);
//get contact display info
auto contactName = callArgs->Contact->DisplayName;
auto contactThumbnail = callArgs->Contact->Thumbnail;
if (callArgs->ServiceId == "telephone")
{
auto phoneNumber = callArgs->ServiceUserId;
//add calling logic for PSTN numbers
}
else if (callArgs->ServiceId == "skype.com")
{
auto userId = callArgs->ServiceUserId;
//add calling logic for Skype Ids
}
}
}
}
Комментарии
Windows 8.1 позволяет пользователям звонить своим контактам из карточки контакта или с помощью Windows Search. Реализуя контракт активации вызова контакта, Windows может запустить приложение для выполнения вызовов для пользователя.
Чтобы получать активации звонков, приложение должно зарегистрироваться в категории расширения "windows.contact" в манифесте. В этом расширении необходимо включить элемент LaunchAction с атрибутом Verb, равным "call". Затем можно указать элемент ServiceId, чтобы указать тип поддерживаемого вызова. Например, если приложение обрабатывает стандартные вызовы по ТСОП, можно указать "ServiceId" для "телефон". Если приложение обрабатывает вызовы через веб-службу, например Skype, можно указать доменное имя этой службы, например "skype.com".
Если для этого контракта зарегистрировано несколько приложений, пользователь может выбрать одно из них по умолчанию для обработки вызовов.
Примечание
Чтобы пользователь мог задать ваше приложение в качестве вызывающего приложения по умолчанию для номеров ТСОП, ваше приложение также должно поддерживать схему URI "tel".
Ниже приведен пример регистрации манифеста.
<m2:Extension Category="windows.contact" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
<m2:Contact>
<m2:ContactLaunchActions>
<m2:LaunchAction Verb="call" DesiredView="useLess">
<m2:ServiceId>telephone</m2:ServiceId>
<m2:ServiceId>skype.com</m2:ServiceId>
</m2:LaunchAction>
</m2:ContactLaunchActions>
</m2:Contact>
</m2:Extension>
После регистрации в манифесте приложение можно активировать для контракта вызова контакта. При активации приложения можно использовать сведения о событии для идентификации активации звонка и извлечения параметров, которые помогут выполнить вызов для пользователя.
Сведения об обработке активации приложения с помощью действий контакта см. в разделе Краткое руководство. Обработка действий контакта .
Свойства
Contact |
Возвращает контакт для вызова. |
Kind |
Возвращает тип активации. |
PreviousExecutionState |
Возвращает состояние выполнения приложения до его активации. |
ServiceId |
Возвращает идентификатор службы, используемой для вызова. |
ServiceUserId |
Возвращает идентификатор пользователя службы, используемой для вызова. |
SplashScreen |
Возвращает объект экрана-заставки, предоставляющий сведения о переходе с экрана-заставки на активированное приложение. |
Verb |
Возвращает выполняемую операцию. |