WebUIContactMessageActivatedEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные при активации приложения для отправки сообщения контакту.
public ref class WebUIContactMessageActivatedEventArgs sealed : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class WebUIContactMessageActivatedEventArgs final : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public sealed class WebUIContactMessageActivatedEventArgs : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
Public NotInheritable Class WebUIContactMessageActivatedEventArgs
Implements IActivatedEventArgs, IActivatedEventArgsDeferral, IContactMessageActivatedEventArgs
- Наследование
- Атрибуты
- Реализации
Требования к Windows
Семейство устройств |
Windows Desktop Extension SDK (появилось в 10.0.10240.0)
|
API contract |
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (появилось в v1.0)
|
Примеры
JavaScript
function activated(eventObject) {
if (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.contact) {
if (eventObject.detail.verb === Windows.ApplicationModel.Contacts.ContactLaunchActionVerbs.message) {
//get contact display info
var contactName = eventObject.detail.contact.displayName;
var contactThumbnail = eventObject.detail.contact.thumbnail;
if (eventObject.detail.serviceId === "telephone") {
var phoneNumber = eventObject.detail.serviceUserId;
//add messaging logic for PSTN numbers
}
else if (eventObject.detail.serviceId === "skype.com") {
var userId = eventObject.detail.serviceUserId;
//add messaging logic for Skype Ids
}
}
}
}
Комментарии
Доступ к этому объекту осуществляется при реализации обработчика событий для событий WinJS.Application.Onactivated или Windows.UI.WebUI.WebUIApplication.activated , когда ActivationKind является контактом.
Примечание
Этот класс не является гибким, что означает, что необходимо учитывать его потоковую модель и поведение маршалинга. Дополнительные сведения см. в разделе Потоки и маршалинг (C++/CX)..
Windows 8.1 позволяет пользователям отправлять сообщения своим контактам с помощью карточки контакта или интерфейса Поиска Windows. Реализуя контракт активации сообщений контакта, Windows может запустить приложение для отправки сообщений для пользователя.
Чтобы получать активации сообщений, приложение должно зарегистрироваться в категории расширения "windows.contact" в манифесте. В этом расширении необходимо включить элемент LaunchAction с атрибутом Verb, равным "message". Затем можно указать элемент ServiceId, чтобы указать тип сообщений, которые вы поддерживаете. Например, если приложение обрабатывает стандартные текстовые сообщения, можно указать "ServiceId" для "телефон". Если приложение обрабатывает обмен сообщениями через веб-службу, например Skype, можно указать доменное имя этой службы, например "skype.com".
Если для этого контракта зарегистрировано несколько приложений, пользователь может выбрать одно из них по умолчанию для обработки сообщений.
Ниже приведен пример регистрации манифеста:
<m2:Extension Category="windows.contact" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
<m2:Contact>
<m2:ContactLaunchActions>
<m2:LaunchAction Verb="message" DesiredView="useLess">
<m2:ServiceId>telephone</m2:ServiceId>
</m2:LaunchAction>
<m2:LaunchAction Verb="message" DesiredView="useLess">
<m2:ServiceId>skype.com</m2:ServiceId>
</m2:LaunchAction>
</m2:ContactLaunchActions>
</m2:Contact>
</m2:Extension>
После регистрации в манифесте приложение можно активировать для контракта сообщения контакта. При активации приложения можно использовать сведения о событии для идентификации активации сообщения и извлечения параметров, которые помогут выполнить сценарий обмена сообщениями для пользователя.
Ниже приведен пример кода, необходимого для обработки активации контактных сообщений для номеров ТСОП и идентификаторов Skype:
Свойства
ActivatedOperation |
Возвращает операцию, активированную приложением. |
Contact |
Возвращает контакт для сообщения. |
Kind |
Возвращает тип активации. |
PreviousExecutionState |
Возвращает состояние выполнения приложения до его активации. |
ServiceId |
Возвращает идентификатор службы, используемой для сообщения. |
ServiceUserId |
Возвращает идентификатор пользователя службы, используемой для сообщения. |
SplashScreen |
Возвращает объект экрана-заставки, предоставляющий сведения о переходе с экрана-заставки на активированное приложение. |
Verb |
Возвращает выполняемую операцию. |