Language: JavaScript and HTML | VB/C#/C++ and XAML

How to share text (Windows Runtime apps using JavaScript and HTML)

Applies to Windows and Windows Phone

Sharing text is one of the most basic, yet essential, methods for sharing content. We recommend your app support sharing text:

  • When you want the content to be available to a large number of target apps.
  • As a secondary source when sharing links or sharing HTML.

What you need to know

Technologies

Prerequisites

  • You should be familiar with Visual Studio and its associated templates.
  • You should be familiar with JavaScript.

Instructions

Step 1: Set up your app as a share source

Add a DataRequested event handler to fire when the user wants to invoke Share. In a Windows Store app, this occurs automatically when the user invokes the Share charm. If you're developing for Windows Phone, there is no built-in Share charm, so you'll need to add a control for the user to tap and trigger the handler.


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

The remaining steps implement the shareTextHandler function.

Step 2: Get a DataRequest object

When a datarequested event occurs, your app receives a DataRequest object. This object contains a DataPackage that you can use to provide the content that the user wants to share.


var request = e.request;


Step 3: Set the title and description properties


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

Step 4: Add the text to the DataPackage

To add text, use the setText method.


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


Complete example

Here's an example of a function that sets some text for a user to share. For a more complete example, check out our code gallery sample.


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());
    }
};

Related topics

Sharing content source app sample
Sharing and exchanging data
How to share files
How to share HTML
How to share an image
How to share a link
Quickstart: Sharing content
DataPackage
Windows.ApplicationModel.DataTransfer
Windows.ApplicationModel.DataTransfer.Share

 

 

Show:
© 2014 Microsoft. All rights reserved.