ContactCallActivatedEventArgs 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
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에서 도입되었습니다.)
|
예제
다음은 PSTN 번호 및 Skype ID에 대한 연락처 통화 활성화를 처리하는 데 필요한 코드의 예입니다.
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" 확장 범주에 등록해야 합니다. 이 확장에서 "Verb" 특성이 "call"과 같은 "LaunchAction" 요소를 포함해야 합니다. 그런 다음 , "ServiceId" 요소를 지정하여 지원하는 호출 유형을 지정할 수 있습니다. 예를 들어 앱이 표준 PSTN 호출을 처리하는 경우 "전화"의 "ServiceId"를 지정할 수 있습니다. 앱이 Skype와 같은 웹 기반 서비스를 통해 호출을 처리하는 경우 해당 서비스의 도메인 이름(예: "skype.com")을 지정할 수 있습니다.
여러 앱이 이 계약에 등록되어 있는 경우 사용자는 호출을 처리하기 위한 기본값으로 앱 중 하나를 선택할 수 있습니다.
참고
사용자가 PSTN 번호에 대한 기본 호출 앱으로 앱을 설정할 수 있도록 하려면 앱에서 "tel" URI 체계도 지원해야 합니다.
매니페스트 등록의 예는 다음과 같습니다.
<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 |
수행할 작업을 가져옵니다. |