如何分享文字 (HTML)
[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]
分享文字是分享內容時最基本,但也是必要的方法。我們建議您的應用程式支援分享文字:
- 想讓大量目標應用程式使用內容時。
- 在分享連結或分享 HTML 時,作為第二種來源。
您必須知道的事
技術
先決條件
- 您應該熟悉 Visual Studio 以及相關範本。
- 您應該熟悉 JavaScript。
指示
步驟 1: 將您的應用程式設定成分享來源
新增一個要在使用者想要叫用分享時引發的 DataRequested 事件處理常式。在 Windows 市集應用程式中,當使用者叫用 [分享] 常用鍵時,就會自動引發這個事件。如果您開發的是 Windows Phone 應用程式,則沒有內建的分享常用鍵,所以您需要新增控制項,讓使用者可以輕觸並觸發處理常式。
var dataTransferManager = Windows.ApplicationModel.DataTransfer.DataTransferManager.getForCurrentView();
dataTransferManager.addEventListener("datarequested", shareTextHandler);
剩餘的步驟是實作 shareTextHandler
函式。
步驟 2: 取得 DataRequest 物件
發生 datarequested 事件後,應用程式會收到 DataRequest 物件。這個物件有一個 DataPackage,您可以用它來提供使用者想分享的內容。
var request = e.request;
步驟 3: 設定標題和描述屬性
request.data.properties.title = "Share Text Example";
request.data.properties.description = "Demonstrates how to share.";
步驟 4: 將文字新增到 DataPackage
若要新增文字,請使用 setText 方法。
request.data.setText("Hello World!");
完整範例
這裡是一個函式範例,它為使用者設定一些要分享的文字。如需更完整的範例,請參閱我們的程式碼庫範例。
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());
}
};