Condividi tramite


ContactVideoCallActivatedEventArgs Classe

Definizione

Fornisce i dati quando un'app viene attivata per videochiamare un contatto.

Javascript Questo tipo viene visualizzato come WebUIContactVideoCallActivatedEventArgs.

public ref class ContactVideoCallActivatedEventArgs sealed : IActivatedEventArgs, IContactVideoCallActivatedEventArgs
/// [Windows.Foundation.Metadata.ContractVersion(Windows.ApplicationModel.Activation.ContactActivatedEventsContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class ContactVideoCallActivatedEventArgs final : IActivatedEventArgs, IContactVideoCallActivatedEventArgs
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.ApplicationModel.Activation.ContactActivatedEventsContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class ContactVideoCallActivatedEventArgs : IActivatedEventArgs, IContactVideoCallActivatedEventArgs
Public NotInheritable Class ContactVideoCallActivatedEventArgs
Implements IActivatedEventArgs, IContactVideoCallActivatedEventArgs
Ereditarietà
Object Platform::Object IInspectable ContactVideoCallActivatedEventArgs
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

Di seguito è riportato un esempio del codice che è necessario gestire le attivazioni di videochiamata dei contatti per Gli 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.VideoCall)
        {
            IContactVideoCallActivatedEventArgs videoCallArgs = contactArgs as IContactVideoCallActivatedEventArgs;

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

            if (videoCallArgs.ServiceId == "skype.com")
            {
                var userId = videoCallArgs.ServiceUserId;
                //add video calling 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::VideoCall())
        {
            auto videoCallArgs{ contactArgs.as<Windows::ApplicationModel::Activation::ContactVideoCallActivatedEventArgs>() };

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

            if (videoCallArgs.ServiceId() == L"skype.com")
            {
                auto userId = videoCallArgs.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::VideoCall)
        {
            auto videoCallArgs = dynamic_cast<ContactVideoCallActivatedEventArgs^>(contactArgs);

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

            if (videoCallArgs->ServiceId == "skype.com")
            {
                auto userId = videoCallArgs->ServiceUserId;
                //add video calling logic for Skype Ids
            }
        }
    }
}

Commenti

Windows 8.1 consente agli utenti di videochiamatare i propri contatti dall'esperienza Contact Card o Windows Search. Implementando il contratto di attivazione delle videochiamate di contatto, Windows può avviare l'app per effettuare videochiamate per l'utente.

Per ricevere le attivazioni di videochiamata, l'app deve registrarsi per la categoria di estensione "windows.contact" nel manifesto. In questa estensione è necessario includere un elemento "LaunchAction" con l'attributo "Verb" uguale a "videoCall". È quindi possibile specificare l'elemento "ServiceId" per specificare il nome di dominio del servizio su cui l'app può chiamare video, ad esempio "skype.com".

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

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="videoCall" DesiredView="useHalf">
        <m2:ServiceId>skype.com</m2:ServiceId>
      </m2:LaunchAction>
    </m2:ContactLaunchActions>
  </m2:Contact>
</m2:Extension>

Dopo aver eseguito la registrazione nel manifesto, l'app può essere attivata per il contratto di videochiamata del contatto. Quando l'app viene attivata, puoi usare le informazioni sull'evento per identificare l'attivazione della videochiamata ed estrarre i parametri che consentono di completare la videochiamata per l'utente.

Proprietà

Contact

Ottiene il contatto per la videochiamata.

Kind

Ottiene il tipo di attivazione.

PreviousExecutionState

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

ServiceId

Ottiene l'identificatore del servizio utilizzato per la videochiamata.

ServiceUserId

Ottiene l'identificatore utente del servizio utilizzato per la videochiamata.

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