WebUIContactMessageActivatedEventArgs クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
アプリがアクティブ化され、連絡先にメッセージを送信するときにデータを提供します。
public ref class WebUIContactMessageActivatedEventArgs sealed : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
class WebUIContactMessageActivatedEventArgs final : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Standard)]
public sealed class WebUIContactMessageActivatedEventArgs : IActivatedEventArgs, IContactMessageActivatedEventArgs, IActivatedEventArgsDeferral
Public NotInheritable Class WebUIContactMessageActivatedEventArgs
Implements IActivatedEventArgs, IActivatedEventArgsDeferral, IContactMessageActivatedEventArgs
- 継承
- 属性
- 実装
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.message) {
//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 messaging logic for PSTN numbers
}
else if (eventObject.detail.serviceId === "skype.com") {
var userId = eventObject.detail.serviceUserId;
//add messaging logic for Skype Ids
}
}
}
}
注釈
このオブジェクトは、ActivationKind が接続されている場合に WinJS.Application.Onactivated または Windows.UI.WebUI.WebUIApplication.activated イベントのイベント ハンドラーを実装するときにアクセスされます。
注意
このクラスはアジャイルではありません。つまり、スレッド モデルとマーシャリング動作を考慮する必要があります。 詳細については、「 スレッドとマーシャリング (C++/CX)」を参照してください。
Windows 8.1を使用すると、ユーザーは連絡先カードまたは Windows Search エクスペリエンスから連絡先にメッセージを送信できます。 連絡先メッセージのアクティブ化コントラクトを実装することで、Windows はアプリを起動してユーザーのメッセージを送信できます。
メッセージのアクティブ化を受信するには、アプリのマニフェストで "windows.contact" 拡張機能カテゴリに登録する必要があります。 この拡張機能では、"Verb" 属性が "message" と等しい "LaunchAction" 要素を含める必要があります。その後、"ServiceId" 要素を指定して、サポートするメッセージングの種類を指定できます。 たとえば、アプリで標準のテキスト メッセージを処理する場合は、"電話" の "ServiceId" を指定できます。アプリが Skype などの Web ベースのサービス経由でメッセージングを処理する場合は、そのサービスのドメイン名 ("skype.com" など) を指定できます。
このコントラクトに複数のアプリが登録されている場合、ユーザーはメッセージを処理するための既定値としてそのうちの 1 つを選択できます。
マニフェスト登録の例を次に示します。
<m2:Extension Category="windows.contact" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
<m2:Contact>
<m2:ContactLaunchActions>
<m2:LaunchAction Verb="message" DesiredView="useLess">
<m2:ServiceId>telephone</m2:ServiceId>
</m2:LaunchAction>
<m2:LaunchAction Verb="message" DesiredView="useLess">
<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 |
実行するアクションを取得します。 |