ContactPostActivatedEventArgs 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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 ID에 대한 연락처 사후 활성화를 처리하는 데 필요한 코드의 예입니다.
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" 확장 범주에 등록해야 합니다. 이 확장에서 "Post"와 같은 "동사" 특성이 있는 "LaunchAction" 요소를 포함해야 합니다. 그런 다음 "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>
매니페스트에 등록하면 연락처 사후 계약에 대해 앱을 활성화할 수 있습니다. 앱이 활성화되면 이벤트 정보를 사용하여 사후 활성화를 식별하고 사용자의 게시 시나리오를 완료하는 데 도움이 되는 매개 변수를 추출할 수 있습니다.
속성
Contact |
게시물에 대한 연락처를 가져옵니다. |
Kind |
활성화 유형을 가져옵니다. |
PreviousExecutionState |
활성화되기 전에 앱의 실행 상태를 가져옵니다. |
ServiceId |
게시물에 사용되는 서비스의 식별자를 가져옵니다. |
ServiceUserId |
게시물에 사용되는 서비스의 사용자 식별자를 가져옵니다. |
SplashScreen |
시작 화면에서 활성화된 앱으로의 전환에 대한 정보를 제공하는 시작 화면 개체를 가져옵니다. |
Verb |
수행할 작업을 가져옵니다. |