Condividi tramite


WebUIContactMessageActivatedEventArgs Classe

Definizione

Fornisce i dati quando un'app viene attivata per inviare un messaggio a un contatto.

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
Ereditarietà
Object Platform::Object IInspectable WebUIContactMessageActivatedEventArgs
Attributi
Implementazioni

Requisiti Windows

Famiglia di dispositivi
Windows Desktop Extension SDK (è stato introdotto in 10.0.10240.0)
API contract
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (è stato introdotto in v1.0)

Esempio

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
            }
        }
    }
}

Commenti

Questo oggetto viene accessibile quando si implementa un gestore eventi per WinJS.Application.Onactivated o Windows.UI.WebUI.WebUI.WebUIApplication.trigger quando ActivationKind è contatto.

Nota

Questa classe non è agile, il che significa che è necessario considerare il relativo modello di threading e il comportamento di marshalling. Per altre informazioni, vedere Threading e marshalling (C++/CX).

Windows 8.1 consente agli utenti di inviare messaggi ai propri contatti dall'esperienza Contact Card o Windows Search. Implementando il contratto di attivazione del messaggio di contatto, Windows può avviare l'app per inviare messaggi per l'utente.

Per ricevere le attivazioni dei messaggi, l'app deve registrarsi per la categoria di estensione "windows.contact" nel relativo manifesto. In questa estensione è necessario includere un elemento "LaunchAction" con l'attributo "Verb" uguale a "message". È quindi possibile specificare l'elemento "ServiceId" per specificare il tipo di messaggistica supportata. Ad esempio, se l'app gestisce i messaggi di testo standard, è possibile specificare un "ServiceId" di "telefono". Se l'app gestisce la messaggistica su un servizio basato sul Web, ad esempio Skype, è possibile specificare il nome di dominio di tale servizio, ad esempio "skype.com".

Se più app sono state registrate per questo contratto, l'utente può sceglierne uno come impostazione predefinita per la gestione dei messaggi.

Ecco un esempio per la registrazione del manifesto:

<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>

Dopo aver registrato il manifesto, l'app può essere attivata per il contratto del messaggio di contatto. Quando l'app viene attivata, è possibile usare le informazioni sull'evento per identificare l'attivazione del messaggio ed estrarre i parametri che consentono di completare lo scenario di messaggistica per l'utente.

Ecco un esempio del codice che è necessario gestire le attivazioni dei messaggi di contatto per i numeri PSTN e Gli ID Skype:

Proprietà

ActivatedOperation

Ottiene l'operazione attivata dall'app.

Contact

Ottiene il contatto per il messaggio.

Kind

Ottiene il tipo di attivazione.

PreviousExecutionState

Ottiene lo stato di esecuzione dell'app prima dell'attivazione.

ServiceId

Ottiene l'identificatore del servizio usato per il messaggio.

ServiceUserId

Ottiene l'identificatore utente del servizio usato per il messaggio.

SplashScreen

Ottiene l'oggetto schermata iniziale, che fornisce informazioni sulla transizione dalla schermata iniziale all'app attivata.

Verb

Ottiene l'azione da eseguire.

Si applica a

Vedi anche