ContactPostActivatedEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные при активации приложения для публикации контакта.
Javascript Этот тип отображается как WebUIContactPostActivatedEventArgs.
public ref class ContactPostActivatedEventArgs sealed : IActivatedEventArgs, IContactPostActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactPostActivatedEventArgs final : IActivatedEventArgs, IContactPostActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactPostActivatedEventArgs : IActivatedEventArgs, IContactPostActivatedEventArgs
Public NotInheritable Class ContactPostActivatedEventArgs
Implements IActivatedEventArgs, IContactPostActivatedEventArgs
- Наследование
- Атрибуты
- Реализации
Требования к Windows
Семейство устройств |
Windows Desktop Extension SDK (появилось в 10.0.10240.0)
|
API contract |
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (появилось в v1.0)
|
Примеры
Ниже приведен пример кода, необходимого для обработки активации контактных постов для идентификаторов Facebook.
protected override void OnActivated(IActivatedEventArgs args)
{
if (args.Kind == ActivationKind.Contact)
{
var contactArgs = args as IContactActivatedEventArgs;
if (contactArgs.Verb == Windows.ApplicationModel.Contacts.ContactLaunchActionVerbs.Post)
{
IContactPostActivatedEventArgs postArgs = contactArgs as IContactPostActivatedEventArgs;
//get contact display info
var contactName = postArgs.Contact.DisplayName;
var contactThumbnail = postArgs.Contact.Thumbnail;
if (postArgs.ServiceId == "facebook.com")
{
var userId = postArgs.ServiceUserId;
//add posting logic for Facebook 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::Post())
{
auto postArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactPostActivatedEventArgs>() };
// Get contact display info.
auto contactName{ postArgs.Contact().DisplayName() };
auto contactThumbnail{ postArgs.Contact().Thumbnail() };
if (postArgs.ServiceId() == L"facebook.com")
{
auto userId = postArgs.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::Post)
{
auto postArgs = dynamic_cast<ContactPostActivatedEventArgs^>(contactArgs);
//get contact display info
auto contactName = postArgs->Contact->DisplayName;
auto contactThumbnail = postArgs->Contact->Thumbnail;
if (postArgs->ServiceId == "facebook.com")
{
auto userId = postArgs->ServiceUserId;
//add posting logic for Facebook Ids
}
}
}
}
Комментарии
Windows 8.1 позволяет пользователям публиковать свои контакты из карточки контакта или в Windows Search. Реализуя контракт контакта после активации, Windows может запустить ваше приложение для публикации для пользователя.
Для получения после активации приложение должно зарегистрироваться в категории расширения "windows.contact" в манифесте. В этом расширении необходимо включить элемент LaunchAction с атрибутом Verb, равным "post". Затем можно указать элемент ServiceId, чтобы указать доменное имя службы, в которую приложение может отправлять публикацию, например "facebook.com".
Если для этого контракта зарегистрировано несколько приложений, пользователь может выбрать одно из них по умолчанию для обработки публикации.
Ниже приведен пример регистрации манифеста.
<m2:Extension Category="windows.contact" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
<m2:Contact>
<m2:ContactLaunchActions>
<m2:LaunchAction Verb="post" DesiredView="useLess">
<m2:ServiceId>facebook.com</m2:ServiceId>
</m2:LaunchAction>
</m2:ContactLaunchActions>
</m2:Contact>
</m2:Extension>
После регистрации в манифесте приложение можно активировать для контракта после контакта. При активации приложения можно использовать сведения о событии для идентификации после активации и извлечения параметров, которые помогут выполнить сценарий post для пользователя.
Свойства
Contact |
Получает контакт для публикации. |
Kind |
Возвращает тип активации. |
PreviousExecutionState |
Возвращает состояние выполнения приложения до его активации. |
ServiceId |
Возвращает идентификатор службы, используемой для post. |
ServiceUserId |
Возвращает идентификатор пользователя службы, используемой для записи. |
SplashScreen |
Возвращает объект экрана-заставки, предоставляющий сведения о переходе с экрана-заставки на активированное приложение. |
Verb |
Возвращает выполняемую операцию. |