分享與接收內容 (HTML)
[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]
使用者經常有一些資訊,很想跟別人分享或是在其他應用程式中使用。「分享」是一種很容易新增到您應用程式中的輕量型內容導向功能。
應用程式以兩種方式支援分享功能。第一種,應用程式可以是「來源應用程式」,提供使用者要分享的內容。第二種,應用程式可以是「目標應用程式」,使用者選取做為分享內容的目的地 (應用程式可以同時為來源應用程式與目標應用程式)。如果您要自己的應用程式當作來源應用程式以分享內容,您需要決定應用程式可以提供哪些資料格式。我們建議您嘗試盡可能支援越多資料格式越好,不過最後您還是要選擇最適合應用程式的資料格式。決定好之後,請使用 Windows.ApplicationModel.DataTransfer 命名空間中的類別來封裝資料。
如果您要自己的應用程式當作目標應用程式以接收分享的內容,您需要先設定應用程式的資訊清單檔案,以指出應用程式支援分享協定。
注意
應用程式使用者只要撥動一下 [分享] 常用鍵,就可以從您的應用程式分享內容。使用者可以使用 [裝置] 常用鍵上的 [輕觸並傳送],將您應用程式中的檔案或 URL 與其他裝置分享。
注意
Windows Phone 8.1 上並沒有 [常用鍵列],因此開發人員必須以程式設計方式將分享選項包含在應用程式列或其他控制項中。
當使用者在支援的資料格式已被分享的情況下叫用分享時,這個分享協定可讓您的應用程式成為其中一個選項。為目標應用程式選擇要支援的資料格式時,您應該只登錄應用程式可以處理的格式。如需更多指導,請參閱選擇資料格式。當使用者叫用分享選項時,系統只會顯示能夠支援分享資料的目標應用程式。
如果您使用的是 Visual Studio,您可以從 [專案]**** 功能表上按一下 [加入新項目],然後從清單中選取 [共用目標合約]****,將共用合約加入應用程式中。 整個過程的其中一環是您需要指定您的應用程式可以接受的資料格式與檔案類型清單。在 Visual Studio 中編輯 package.appxmanifest 檔案時,在 [宣告] 索引標籤中指定格式。
若要深入了解如何在應用程式資訊清單檔案中支援分享協定,請參閱套件資訊清單結構描述參考中的快速入門:接收分享的內容和 ShareTarget。
若要檢視如何分享內容的範例,請參閱分享內容來源應用程式範例和分享內容目標應用程式範例,或詳閱快速入門:分享內容和快速入門:接收分享的內容主題。
下圖是分享運作方式的概觀。
注意
Windows Phone 8.1 不支援 QuickLinks。如果目標應用程式傳回 QuickLink,來源應用程式會自動忽略它。
您可以指定當使用者透過分享協定啟用應用程式時,要開啟的表單。如此一來,您可以特別為分享建立一個自訂的經驗。您可以在分享內容的指導方針和檢查清單中找到這個以及其他設計考量的詳細資訊。
注意
如果您實作的是目標應用程式,請將 UI 體驗納入考量。在 Windows 上,當使用者選取您的應用程式時,將使用 [分享] 飛出視窗來顯示應用程式。這種檢視狀態是在畫面上顯示應用程式的數種方式之一。確定您的應用程式在 [分享] 飛出視窗中呈現一個乾淨、簡單的分享內容介面。
您無法修改您應用程式從來源應用程式收到的內容。不過,您可以讓系統知道您的應用程式已經收到資料,並指示資料的處理時間。這一點很重要,特別是對圖片這類在處理和上傳時可能需要花一些時間的內容。分享內容目標應用程式範例會示範運作方式,您也可以參閱快速入門:接收分享的內容以了解詳細資訊。
請謹記,雖然這些角色—來源和目標—不同,但是您可以在單一應用程式中同時支援兩者。例如,相片分享應用程式可以當作來源應用程式,這樣使用者能將相片寄給他人。它也可以當做目標應用程式,這樣使用者就可以用新相片來更新相簿。
若要開始將分享新增到應用程式,請查看下列主題和範例應用程式:
- 分享內容的指導方針和檢查清單。不論您撰寫的是來源或目標應用程式,這個主題都提供了一些有用的資訊,可協助您在分享內容上盡可能地提供最佳的使用者體驗。
- 選擇要分享的資料格式。了解分享的標準格式,以及如何在標準格式不適用時建立和使用自訂格式。
- 分享內容。您在這裡將會學到如何實作來源應用程式的基本知識。我們還會提到更多特定案例,以及提供一些實作時需要考量的詳細資料。
- 接收分享的內容。本主題描述如何將分享協定新增到應用程式,如何偵測使用者是否選擇與您的應用程式分享內容的基礎,以及如何處理分享的資料。我們也會描述一些特定案例,協助您快速上手。
- 分享內容來源應用程式範例。這個範例示範如何啟動分享作業以及如何封裝要分享的內容。
- 分享內容目標應用程式範例。這個範例示範如何從另一個應用程式接收分享的內容。
- 對目標應用程式偵錯的指導方針。了解對共用目標應用程式偵錯涉及的問題。