ContactMessageActivatedEventArgs 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
public ref class ContactMessageActivatedEventArgs sealed : IActivatedEventArgs, IContactMessageActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactMessageActivatedEventArgs final : IActivatedEventArgs, IContactMessageActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactMessageActivatedEventArgs : IActivatedEventArgs, IContactMessageActivatedEventArgs
Public NotInheritable Class ContactMessageActivatedEventArgs
Implements IActivatedEventArgs, IContactMessageActivatedEventArgs
- 繼承
- 屬性
- 實作
Windows 需求
裝置系列 |
Windows Desktop Extension SDK (已於 10.0.10240.0 引進)
|
API contract |
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (已於 v1.0 引進)
|
範例
以下是您處理 PSTN 號碼和 Skype 識別碼的連絡人訊息啟用所需的程式碼範例。
protected override void OnActivated(IActivatedEventArgs args)
{
if (args.Kind == ActivationKind.Contact)
{
var contactArgs = args as IContactActivatedEventArgs;
if (contactArgs.Verb == Windows.ApplicationModel.Contacts.ContactLaunchActionVerbs.Message)
{
IContactMessageActivatedEventArgs messageArgs = contactArgs as IContactMessageActivatedEventArgs;
//get contact display info
var contactName = messageArgs.Contact.DisplayName;
var contactThumbnail = messageArgs.Contact.Thumbnail;
if (messageArgs.ServiceId == "telephone")
{
var phoneNumber = messageArgs.ServiceUserId;
//add messaging logic for PSTN numbers
}
else if (messageArgs.ServiceId == "skype.com")
{
var userId = messageArgs.ServiceUserId;
//add messaging 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::Message())
{
auto messageArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactMessageActivatedEventArgs>() };
// Get contact display info.
auto contactName{ messageArgs.Contact().DisplayName() };
auto contactThumbnail{ messageArgs.Contact().Thumbnail() };
if (messageArgs.ServiceId() == L"telephone")
{
auto phoneNumber = messageArgs.ServiceUserId();
// Add messaging logic for PSTN numbers.
}
else if (messageArgs.ServiceId() == L"skype.com")
{
auto userId = messageArgs.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::Message)
{
auto messageArgs = dynamic_cast<ContactMessageActivatedEventArgs^>(contactArgs);
//get contact display info
auto contactName = messageArgs->Contact->DisplayName;
auto contactThumbnail = messageArgs->Contact->Thumbnail;
if (messageArgs->ServiceId == "telephone")
{
auto phoneNumber = messageArgs->ServiceUserId;
//add messaging logic for PSTN numbers
}
else if (messageArgs->ServiceId == "skype.com")
{
auto userId = messageArgs->ServiceUserId;
//add messaging logic for Skype Ids
}
}
}
}
備註
Windows 8.1可讓使用者從連絡人卡片或 Windows 搜尋體驗訊息其連絡人。 藉由實作連絡人訊息啟用合約,Windows 可以啟動您的應用程式來傳送使用者的訊息。
若要接收訊息啟用,您的應用程式必須在其資訊清單中註冊 「windows.contact」 延伸模組類別。 在此延伸模組下,您必須包含 「Verb」 屬性等於 「message」 的 「LaunchAction」 元素。然後,您可以指定 「ServiceId」 元素,以指定您支援的傳訊類型。 例如,如果您的應用程式處理標準文字訊息,您可以指定 「ServiceId」 為 「telephone」。如果您的應用程式透過 Web 服務處理傳訊,例如 Skype,您可以指定該服務的功能變數名稱,例如「skype.com」。
如果有多個應用程式已註冊此合約,使用者可以選擇其中一個應用程式作為處理訊息的預設值。
以下是資訊清單註冊的範例。
<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>
在資訊清單中註冊之後,即可針對連絡人訊息合約啟用您的應用程式。 啟動應用程式時,您可以使用事件資訊來識別訊息啟用,並擷取參數,以協助您完成使用者的傳訊案例。
如需如何透過連絡人動作處理應用程式啟用的資訊,請參閱 快速入門:處理連絡人動作 。
屬性
Contact |
取得訊息的連絡人。 |
Kind |
取得啟用類型。 |
PreviousExecutionState |
取得應用程式啟動前的執行狀態。 |
ServiceId |
取得用於訊息之服務的識別碼。 |
ServiceUserId |
取得用於訊息之服務的使用者識別碼。 |
SplashScreen |
取得啟動顯示畫面物件,該物件提供從啟動顯示畫面轉換為啟動的應用程式的相關資訊。 |
Verb |
取得要執行的動作。 |