與檔案選擇器協定整合(Windows 執行階段應用程式)
[ 本文的目標對象是撰寫 Windows 執行階段 App 的 Windows 8.x 和 Windows Phone 8.x 開發人員。如果您正在開發適用於 Windows 10 的 App,請參閱 最新文件 ]
應用程式只要分別與「檔案開啟選擇器」協定、「檔案儲存選擇器」協定以及「快取檔案更新程式」協定整合,就可以使用檔案選擇器為其他應用程式提供檔案、儲存位置,甚至是檔案更新。
檔案選擇器的運作方式
透過檔案選擇器,您的應用程式即可存取使用者系統上的所有檔案和資料夾。當您呼叫檔案選擇器時,使用者可以瀏覽他們的系統及其他應用程式來選取檔案 (或資料夾)。使用者挑選檔案或資料夾之後,您的應用程式會以 StorageFile 和 StorageFolder 物件的形式接收這些挑中的項目。接著您的應用程式即可使用這些物件來操作挑選的檔案和資料夾。若要深入了解如何存取檔案,請參閱 檔案存取和權限。
您也可以使用檔案選擇器,讓使用者透過檔案選擇器從您的應用程式挑選檔案和資料夾。透過檔案選擇器從您應用程式挑選的檔案會被視為從檔案系統挑選的檔案一樣:它們也會以 StorageFile 物件傳回。這能讓使用者從您的應用程式挑選檔案並在另一個應用程式中操作。例如,如果您的應用程式是影像中心,您可能希望提供圖庫的圖片,讓使用者使用您的應用程式來選取這些圖片,並在相片編輯器中進行修改。
如果希望應用程式能夠提供其他應用程式存取檔案、儲存位置和/或檔案更新的權限,您的應用程式必須參加相關的應用程式協定,如「檔案儲存選擇器」協定、「檔案開啟選擇器」協定以及「快取檔案更新程式」協定。若要參加這些協定,可以在應用程式資訊清單中宣告它們,然後將 UI 或程式碼新增到應用程式以便與協定整合。
下圖顯示檔案選擇器如何將相片編輯器 (呼叫應用程式) 這類應用程式連線到影像中心應用程式 (提供應用程式) 提供的檔案,讓使用者可以從影像中心應用程式選取檔案。
參加檔案選擇器應用程式協定
了解如何: 快速入門:使用檔案選擇器提供對檔案的存取權
參考: Windows.Storage.Pickers.Provider namespace
範例: 檔案選擇器協定範例
提供檔案的存取權
如果您的應用程式對於某些檔案有獨特和/或有用的顯示方式,或是如果使用者不易使用其他方式存取這些檔案時,請考慮使用檔案選擇器將檔案提供給其他應用程式。參與「檔案開啟選擇器」協定,您就可以透過檔案選擇器視窗,讓使用者瀏覽和選擇您應用程式提供的檔案。如果您的應用程式參與此協定,使用者就能夠從檔案選擇器上下黑邊左上角的位置清單中選取您的應用程式。當使用者選取您的應用程式,檔案選擇器會將您所的任何修改載入上下黑邊,以及您設計用來顯示檔案讓使用者瀏覽及選擇的頁面。
這個螢幕擷取畫面經過修改,以強調和標示檔案選擇器視窗的中央區域,顯示將會載入您應用程式檔案顯示頁面的位置。 |
無論使用者整理檔案的方式為何,音樂應用程式都可讓使用者依演出者或專輯標題來瀏覽和選擇檔案。或者,影像中心應用程式可以讓使用者瀏覽和選擇不在使用者系統、而是裝載在 Web 服務 (如 Facebook 或 Flickr) 上的檔案。
如果您不希望讓使用者透過檔案選擇器視窗在您的應用程式瀏覽和選擇檔案,則您也可以選擇與分享來源協定整合,讓使用者從您的應用程式分享檔案。如需與分享來源協定整合的詳細資訊,請參閱如何分享檔案。
提供儲存位置
如果您的應用程式將使用者連線到裝載他們檔案的服務,或者如果您預期使用者會儲存多個檔案以便稍後使用您的應用程式開啟並進行作業,請考慮使用檔案選擇器提供您的應用程式作為使用者可以儲存檔案的位置。參與「檔案儲存選擇器」協定,就可以讓使用者將檔案儲存到您的應用程式。如果您的應用程式參與此協定,當使用者透過檔案選擇器儲存檔案時,就能夠從檔案選擇器上下黑邊左上角的位置清單中選取您的應用程式。當使用者選取您的應用程式時,檔案選擇器會顯示您所設計的頁面,為使用者顯示您應用程中式的儲存位置 (包括現有的檔案和/或子資料夾,如果有的話)。
這個螢幕擷取畫面已經被修改成強調和標示檔案選擇器視窗的中央區域,以示範將會把顯示您應用程式儲存位置的頁面載入到哪裡 (螢幕擷取畫面中顯示 Microsoft OneDrive 的應用程式頁面)。 |
應用程式如果可以將使用者連線到由 Facebook 或 OneDrive 裝載的檔案,可能就會讓使用者使用它做為儲存位置,以便使用者能夠輕鬆上傳要裝載的檔案。或者,讓使用者編輯音訊檔案的應用程式,可讓使用者將應用程式當作儲存位置,以便建立音訊檔案佇列,在下次開啟編輯器時進行編輯。
當使用者使用檔案與資料夾時,允許其他應用程式將您的應用程式當作檔案的儲存位置比較合理。但對較小的資料集合,像是 URL 或選擇的文字,就沒那麼直覺。在那些情況中,分享常用鍵或複製和貼上命令是比較好的選項。也就是說,有很多情況,讓我們有理由去支援分享常用鍵以及儲存這兩項功能。例如,想像有使用者希望利用雲端儲存服務 (例如 OneDrive) 來儲存他的檔案。在這種情況下,分享常用鍵和儲存功能,都是同樣有效的選項。最後,您需要考慮使用者如何與應用程式互動、支援符合使用者期望的協定和功能,以及提供最佳的整體經驗。如需與共用目標合約整合的詳細資訊,請參閱快速入門:接收分享的內容。如需使用複製和貼上命令的詳細資訊,請參閱快速入門:剪貼簿基礎。
秘訣 如果您的應用程式是儲存位置,也應該參與「檔案開啟選擇器」協定,以提供應用程式檔案的存取權。
為檔案提供即時更新
如果您的應用程式是用來連線和/或管理使用者檔案的中央存放庫,請考慮提供檔案更新。參與「快取檔案更新程式」協定可讓應用程式更新應用程式存放庫中的檔案,以及為存放庫中該檔案的本機版本提供更新。如果您的應用程式參與此協定並遇到需要使用者介入的更新,檔案選擇器將會載入您設計的頁面,向使用者收集必要的資訊。
OneDrive 或 DropBox 這類遠端存放應用程式,可能會對檔案的本機版本提供更新,以確保使用者看到其存放庫中最新的檔案版本;或是可能在使用者儲存較新的版本時,對存放庫中的檔案執行更新。
秘訣 如果您的應用程式提供檔案更新,它也應該分別加入「檔案儲存選擇器」協定和「檔案開啟選擇器」協定,以提供儲存位置及檔案的存取權。
相關主題
範例
參考
Windows.Storage.AccessCache namespace
Windows.Storage.Pickers namespace
Windows.Storage.Pickers.fileOpenPicker class
Windows.Storage.Pickers.fileSavePicker class
Windows.Storage.Pickers.Provider namespace
分享
使用檔案選擇器