ContactPostActivatedEventArgs Clase

Definición

Proporciona datos cuando se activa una aplicación para publicar un contacto.

Javascript Este tipo aparece como WebUIContactPostActivatedEventArgs.

public ref class ContactPostActivatedEventArgs sealed : IActivatedEventArgs, IContactPostActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactPostActivatedEventArgs final : IActivatedEventArgs, IContactPostActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactPostActivatedEventArgs : IActivatedEventArgs, IContactPostActivatedEventArgs
Public NotInheritable Class ContactPostActivatedEventArgs
Implements IActivatedEventArgs, IContactPostActivatedEventArgs
Herencia
Object Platform::Object IInspectable ContactPostActivatedEventArgs
Atributos
Implementaciones

Requisitos de Windows

Familia de dispositivos
Windows Desktop Extension SDK (se introdujo en la versión 10.0.10240.0)
API contract
Windows.ApplicationModel.Activation.ContactActivatedEventsContract (se introdujo en la versión v1.0)

Ejemplos

Este es un ejemplo del código que necesita para controlar las activaciones de publicaciones de contacto para los identificadores de Facebook.

protected override void OnActivated(IActivatedEventArgs args)
{
    if (args.Kind == ActivationKind.Contact)
    {
        var contactArgs = args as IContactActivatedEventArgs;
        if (contactArgs.Verb == Windows.ApplicationModel.Contacts.ContactLaunchActionVerbs.Post)
        {
            IContactPostActivatedEventArgs postArgs = contactArgs as IContactPostActivatedEventArgs;

            //get contact display info
            var contactName = postArgs.Contact.DisplayName;
            var contactThumbnail = postArgs.Contact.Thumbnail;

            if (postArgs.ServiceId == "facebook.com")
            {
                var userId = postArgs.ServiceUserId;
                //add posting logic for Facebook 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::Post())
        {
            auto postArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactPostActivatedEventArgs>() };

            // Get contact display info.
            auto contactName{ postArgs.Contact().DisplayName() };
            auto contactThumbnail{ postArgs.Contact().Thumbnail() };

            if (postArgs.ServiceId() == L"facebook.com")
            {
                auto userId = postArgs.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::Post)
        {
            auto postArgs = dynamic_cast<ContactPostActivatedEventArgs^>(contactArgs);

            //get contact display info
            auto contactName = postArgs->Contact->DisplayName;
            auto contactThumbnail = postArgs->Contact->Thumbnail;

            if (postArgs->ServiceId == "facebook.com")
            {
                auto userId = postArgs->ServiceUserId;
                //add posting logic for Facebook Ids
            }
        }
    }
}

Comentarios

Windows 8.1 permite a los usuarios publicar en sus contactos desde la tarjeta de contacto o la experiencia de Windows Search. Al implementar el contrato de activación posterior al contacto, Windows puede iniciar la aplicación para publicar para el usuario.

Para recibir activaciones posteriores, la aplicación debe registrarse para la categoría de extensión "windows.contact" en su manifiesto. En esta extensión, debe incluir un elemento "LaunchAction" con el atributo "Verb" igual a "post". A continuación, puede especificar el elemento "ServiceId" para especificar el nombre de dominio del servicio al que la aplicación puede publicar, por ejemplo, "facebook.com".

Si varias aplicaciones se han registrado para este contrato, el usuario puede elegir una de ellas como valor predeterminado para controlar la publicación.

Este es un ejemplo para el registro de manifiestos.

<m2:Extension Category="windows.contact" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest">
  <m2:Contact>
    <m2:ContactLaunchActions>
      <m2:LaunchAction Verb="post" DesiredView="useLess">
        <m2:ServiceId>facebook.com</m2:ServiceId>
      </m2:LaunchAction>
    </m2:ContactLaunchActions>
  </m2:Contact>
</m2:Extension>

Después de registrarse en el manifiesto, la aplicación se puede activar para el contrato post de contacto. Cuando se activa la aplicación, puedes usar la información del evento para identificar la activación posterior y extraer los parámetros que te ayudarán a completar el escenario posterior al usuario.

Propiedades

Contact

Obtiene el contacto de la publicación.

Kind

Obtiene el tipo de activación.

PreviousExecutionState

Obtiene el estado de ejecución de la aplicación antes de activarla.

ServiceId

Obtiene el identificador del servicio usado para la publicación.

ServiceUserId

Obtiene el identificador de usuario del servicio usado para la publicación.

SplashScreen

Obtiene el objeto de pantalla de presentación, que proporciona información sobre la transición de la pantalla de presentación a la aplicación activada.

Verb

Obtiene la acción que se va a realizar.

Se aplica a

Consulte también