Поделиться через


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
Наследование
Object Platform::Object IInspectable WebUIContactMessageActivatedEventArgs
Атрибуты
Реализации

Требования к 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

Возвращает выполняемую операцию.

Применяется к

См. также раздел