次の方法で共有


WebUIContactCallActivatedEventArgs クラス

定義

連絡先を呼び出すためにアプリがアクティブになったときにデータを提供します。

public ref class WebUIContactCallActivatedEventArgs sealed : IActivatedEventArgs, IContactCallActivatedEventArgs, IActivatedEventArgsDeferral
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class WebUIContactCallActivatedEventArgs final : IActivatedEventArgs, IContactCallActivatedEventArgs, IActivatedEventArgsDeferral
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public sealed class WebUIContactCallActivatedEventArgs : IActivatedEventArgs, IContactCallActivatedEventArgs, IActivatedEventArgsDeferral
Public NotInheritable Class WebUIContactCallActivatedEventArgs
Implements IActivatedEventArgs, IActivatedEventArgsDeferral, IContactCallActivatedEventArgs
継承
Object Platform::Object IInspectable WebUIContactCallActivatedEventArgs
属性
実装

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.call) {

     //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 calling logic for PSTN numbers
            }
     else if (eventObject.detail.serviceId === "skype.com") {
                var userId = eventObject.detail.serviceUserId;
  //add calling logic for Skype Ids
            }
        }
    }
}

注釈

このオブジェクトは、ActivationKind接続されている場合に WinJS.Application.Onactivated または Windows.UI.WebUI.WebUIApplication.activated イベントのイベント ハンドラーを実装するときにアクセスされます。

注意

このクラスはアジャイルではありません。つまり、スレッド モデルとマーシャリング動作を考慮する必要があります。 詳細については、「 スレッドとマーシャリング (C++/CX)」を参照してください。

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>

マニフェストに登録すると、連絡先通話コントラクトに対してアプリをアクティブ化できます。 アプリがアクティブ化されると、イベント情報を使用して呼び出しのアクティブ化を識別し、ユーザーの呼び出しを完了するのに役立つパラメーターを抽出できます。

PSTN 番号と Skype ID の連絡先通話のアクティブ化を処理するために必要なコードの例を次に示します。

プロパティ

ActivatedOperation

アプリがアクティブ化された操作を取得します。

Contact

通話の連絡先を取得します。

Kind

アクティブ化の種類を取得します。

PreviousExecutionState

アクティブ化される前のアプリの実行状態を取得します。

ServiceId

呼び出しに使用されるサービスの識別子を取得します。

ServiceUserId

呼び出しに使用されるサービスのユーザー識別子を取得します。

SplashScreen

スプラッシュ スクリーン からアクティブ化されたアプリへの切り替えに関する情報を提供するスプラッシュ スクリーン オブジェクトを取得します。

Verb

実行するアクションを取得します。

適用対象

こちらもご覧ください