ContactMessageActivatedEventArgs Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menyediakan data saat aplikasi diaktifkan untuk mengirim pesan ke kontak.
Javascript Jenis ini muncul sebagai WebUIContactMessageActivatedEventArgs.
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
- Warisan
- Atribut
- Penerapan
Persyaratan Windows
Rangkaian perangkat |
Windows Desktop Extension SDK (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (diperkenalkan dalam v1.0)
|
Contoh
Berikut adalah contoh kode yang Anda butuhkan untuk menangani aktivasi pesan kontak untuk nomor PSTN dan Id 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
}
}
}
}
Keterangan
Windows 8.1 memungkinkan pengguna mengirim pesan kepada kontak mereka dari pengalaman Kartu Kontak atau Windows Search. Dengan menerapkan kontrak aktivasi pesan kontak, Windows dapat meluncurkan aplikasi Anda untuk mengirim pesan bagi pengguna.
Untuk menerima aktivasi pesan, aplikasi Anda harus mendaftar untuk kategori ekstensi "windows.contact" dalam manifesnya. Di bawah ekstensi ini, Anda harus menyertakan elemen "LaunchAction" dengan atribut "Kata Kerja" yang sama dengan "pesan." Anda kemudian dapat menentukan elemen "ServiceId" untuk menentukan jenis pesan yang Anda dukung. Misalnya, jika aplikasi Anda menangani pesan teks standar, Anda dapat menentukan "ServiceId" dari "telepon." Jika aplikasi Anda menangani pesan melalui layanan berbasis web, seperti Skype, Anda dapat menentukan nama domain layanan tersebut, misalnya "skype.com."
Jika beberapa aplikasi telah mendaftar untuk kontrak ini, pengguna dapat memilih salah satunya sebagai default mereka untuk menangani pesan.
Berikut adalah contoh untuk pendaftaran manifes.
<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>
Setelah mendaftar dalam manifes, aplikasi Anda dapat diaktifkan untuk kontrak pesan kontak. Saat aplikasi diaktifkan, Anda dapat menggunakan informasi peristiwa untuk mengidentifikasi aktivasi pesan dan mengekstrak parameter yang membantu Anda menyelesaikan skenario olahpesan untuk pengguna.
Untuk informasi tentang cara menangani aktivasi aplikasi melalui tindakan kontak, lihat Mulai Cepat: Menangani tindakan kontak .
Properti
Contact |
Mendapatkan kontak untuk pesan tersebut. |
Kind |
Mendapatkan jenis aktivasi. |
PreviousExecutionState |
Mendapatkan status eksekusi aplikasi sebelum diaktifkan. |
ServiceId |
Mendapatkan pengidentifikasi layanan yang digunakan untuk pesan. |
ServiceUserId |
Mendapatkan pengidentifikasi pengguna dari layanan yang digunakan untuk pesan. |
SplashScreen |
Mendapatkan objek layar splash, yang menyediakan informasi tentang transisi dari layar splash ke aplikasi yang diaktifkan. |
Verb |
Mendapatkan tindakan yang akan dilakukan. |