ContactCallActivatedEventArgs クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
連絡先を呼び出すためにアプリがアクティブ化されたときにデータを提供します。
Javascript この型は WebUIContactCallActivatedEventArgs として表示されます。
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 などの Web ベースのサービスを介した呼び出しをアプリで処理する場合は、そのサービスのドメイン名 ("skype.com" など) を指定できます。
このコントラクトに複数のアプリが登録されている場合、ユーザーは、呼び出しを処理するための既定としていずれか 1 つを選択できます。
注意
ユーザーが 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 |
実行するアクションを取得します。 |