Como compartilhar texto (HTML)

[ Este artigo destina-se aos desenvolvedores do Windows 8.x e do Windows Phone 8.x que escrevem aplicativos do Windows Runtime. Se você estiver desenvolvendo para o Windows 10, consulte documentação mais recente]

O compartilhamento de texto é, apesar de essencial, um dos métodos mais básicos de compartilhamento de conteúdo. Recomendamos que seu aplicativo dê suporte a compartilhamento de texto:

  • Quando você deseja que o conteúdo esteja disponível para um grande número de aplicativos de destino.
  • Como uma fonte secundária ao compartilhar links ou HTML.

O que você precisa saber

Tecnologias

Pré-requisitos

  • Você deve estar familiarizado com o Visual Studio e com os modelos a ele associados.
  • Você deve ter familiaridade com JavaScript.

Instruções

Etapa 1: Configurar seu aplicativo como uma origem de compartilhamento

Adicione um manipulador de eventos DataRequested para disparar quando o usuário desejar chamar a opção Compartilhar. Em um aplicativo da Windows Store, isso ocorre automaticamente quando o usuário chamar o botão Compartilhar. Se estiver desenvolvendo para Windows Phone, não haverá botão Compartilhar interno, portanto você precisará adicionar um controle para o usuário tocar e disparar o manipulador.

var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
dataTransferManager.addEventListener("datarequested", shareTextHandler);

As etapas remanescentes implementam a função shareTextHandler.

Etapa 2: Obter um objeto DataRequest

Quando ocorre um evento datarequested, o seu aplicativo recebe um objeto DataRequest. Este objeto contém um DataPackage que você pode usar para fornecer o conteúdo que o usuário quer compartilhar.

var request = e.request;

Etapa 3: Definir as propriedades de título e descrição

request.data.properties.title = "Share Text Example";
request.data.properties.description = "Demonstrates how to share.";

Etapa 4: Adicionar o texto ao DataPackage

Para adicionar o texto, use o método setText.

request.data.setText("Hello World!");

Exemplo completo

Aqui está um exemplo de uma função que define texto do usuário para compartilhamento. Para obter um exemplo mais complexo, consulte a nossa amostra da galeria de código.

function shareTextHandler(e) {
    var request = e.request;
    request.data.properties.title = "Share Text Example";
    request.data.properties.description = "Demonstrates how to share.";
    request.data.setText("Hello World!");
}

app.onactivated = function (args) {
    if (args.detail.kind === activation.ActivationKind.launch) {
        if (args.detail.previousExecutionState !== activation.ApplicationExecutionState.terminated) {
            // This app is newly launched. Register the app as share source.
            var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
            dataTransferManager.addEventListener("datarequested", shareTextHandler);
        } else {
            // TODO: This app was reactivated from suspension.
            // Restore the app state here.
        }
        args.setPromise(WinJS.UI.processAll());
    }
};

Tópicos relacionados

Exemplo de aplicativo de compartilhamento de origem de conteúdo

Compartilhando e trocando dados

Como compartilhar arquivos

Como compartilhar HTML

Como compartilhar um link

Início rápido: compartilhando conteúdo

DataPackage

Windows.ApplicationModel.DataTransfer

Windows.ApplicationModel.DataTransfer.Share