啟動 URI 的預設應用程式

重要 API

了解如何啟動統一資源識別項 (URI) 的預設應用程式。 URI 可讓您啟動另一個應用程式來執行特定工作。 本主題也提供許多內建於 Windows 之 URI 配置的概觀。 您也可以啟動自訂 URI。 如需註冊自定義 URI 配置和處理 URI 啟用的詳細資訊,請參閱處理 URI 啟用

URI 配置可讓您按兩下超連結來開啟應用程式。 就像您可以使用 mailto: 開始一封新電子郵件一樣,您可以使用 http: 開啟預設的 Web 瀏覽器:

本主題描述 Windows 內建的下列 URI 配置:

URI 配置 啟動數
bingmaps:、ms-drive-to: 和 ms-walk-to: 地圖應用程式
http: 預設網頁瀏覽器
mailto: 預設電子郵件應用程式
ms-call: 通話應用程式
ms-chat: 訊息應用程式
ms-people: 人員應用程式
ms-photos: 相片 App
ms-settings: 設定應用程式
ms-store: 商店應用程式
ms-tonepicker: 音調選擇器
ms-yellowpage: 附近的數字應用程式
msnweather: 天氣應用程式
microsoft-edge: Microsoft Edge 瀏覽器

例如,下列 URI 會開啟預設瀏覽器,並顯示 Bing 網站。

https://bing.com

您也可以啟動自訂 URI 配置。 如果沒有安裝應用程式來處理該 URI,您可以推薦一個應用程式供使用者安裝。 有關詳細資訊,請參閱在無法處理 URI 的情況下推薦應用程式

一般而言,您的應用程式無法選取已啟動的應用程式。 用戶決定要啟動哪個應用程式。 多個應用程式可以註冊以處理相同的 URI 配置。 這是保留 URI 配置的例外狀況。 系統會忽略保留 URI 配置的註冊。 如需保留 URI 配置的完整清單,請參閱處理 URI 啟用。 如果有多個應用程式可能已註冊相同的 URI 配置,您的應用程式可以建議啟動特定的應用程式。 有關詳細資訊,請參閱在無法處理 URI 的情況下推薦應用程式

呼叫 LaunchUriAsync 以啟動 URI

使用 LaunchUriAsync 方法來啟動 URI。 當您呼叫此方法時,您的應用程式必須是前景應用程式,也就是用戶必須可以看到它。 這項需求有助於確保使用者保持控制狀態。 若要符合這項需求,請務必將所有 URI 啟動直接系結至應用程式的 UI。 用戶必須一律採取一些動作來起始 URI 啟動。 如果您嘗試啟動 URI,且您的應用程式不在前景,啟動將會失敗,而且會叫用您的錯誤回呼。

首先建立一個 System.Uri 物件來表示 URI,然後將其傳遞給 LaunchUriAsync 方法。 使用傳回結果來查看呼叫是否成功,如下列範例所示。

private async void launchURI_Click(object sender, RoutedEventArgs e)
{
   // The URI to launch
   var uriBing = new Uri(@"http://www.bing.com");

   // Launch the URI
   var success = await Windows.System.Launcher.LaunchUriAsync(uriBing);

   if (success)
   {
      // URI launched
   }
   else
   {
      // URI launch failed
   }
}

在某些情況下,作業系統會提示使用者查看他們是否真的想要切換應用程式。

a warning dialog overlayed on a grayed out background of the app. the dialog asks the user if they want to switch apps and has ‘yes’ and ‘no’ buttons in the bottom right. the ‘no’ button is highlighted.

如果您一律希望出現這個提示,請使用 Windows.System.LauncherOptions.TreatAsUntrusted 屬性來告知操作系統顯示警告。

// The URI to launch
var uriBing = new Uri(@"http://www.bing.com");

// Set the option to show a warning
var promptOptions = new Windows.System.LauncherOptions();
promptOptions.TreatAsUntrusted = true;

// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriBing, promptOptions);

如果無法使用應用程式來處理 URI,建議使用應用程式

在某些情況下,使用者可能未安裝應用程式來處理您啟動的 URI。 根據預設,作業系統會藉由提供用戶連結來搜尋市集上適當的應用程式,來處理這些案例。 如果您想向使用者提供在此場景中獲取哪個應用程式的具體建議,您可以透過將該建議與您要啟動的 URI 一起傳遞來實現。

當多個應用程式註冊來處理 URI 方案時,建議也很有用。 藉由建議特定應用程式,Windows 會在已安裝該應用程式時開啟該應用程式。

若要提出推薦,請呼叫 Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) 方法,並將 LauncherOptions.preferredApplicationPackageFamilyName 設定為要推薦的應用程式商店中的應用程式套件系列名稱。 操作系統會使用這項資訊來取代一般選項,以特定選項搜尋市集中的應用程式,以從市集取得建議的應用程式。

// Set the recommended app
var options = new Windows.System.LauncherOptions();
options.PreferredApplicationPackageFamilyName = "Contoso.URIApp_8wknc82po1e";
options.PreferredApplicationDisplayName = "Contoso URI Ap";

// Launch the URI and pass in the recommended app
// in case the user has no apps installed to handle the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);

設定剩餘檢視喜好設定

呼叫 LaunchUriAsync 的來源應用程式可以要求在 URI 啟動後仍保留在畫面上。 根據預設,Windows 會嘗試在來源應用程式與處理 URI 的目標應用程式之間平均共用所有可用空間。 來源應用程式可以使用 DesiredRemainingView 屬性,向作業系統指出他們偏好其應用程式視窗佔用更多或更少的可用空間。 DesiredRemainingView 也可以用來指出來源應用程式不需要在 URI 啟動之後留在畫面上,而且可由目標應用程式完全取代。 此屬性只會指定呼叫應用程式的慣用視窗大小。 它沒有指定可能同時出現在螢幕上的其他應用程式的行為。

注意Windows 在決定來源應用程式的最終視窗大小時會考慮多種不同因素,例如來源應用程式的首選項、螢幕上的應用程式數量、螢幕方向等。 藉由設定 DesiredRemainingView,您不保證來源應用程式的特定視窗化行為。

// Set the desired remaining view.
var options = new Windows.System.LauncherOptions();
options.DesiredRemainingView = Windows.UI.ViewManagement.ViewSizePreference.UseLess;

// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uriContoso, options);

URI 配置

以下說明各種 URI 配置。

呼叫應用程式 URI 配置

使用 ms-call: URI 配置來啟動通話應用程式。

URI 配置 結果
ms-call:settings 呼叫應用程式設定頁面。

電子郵件 URI 配置

使用 mailto: URI 配置來啟動預設郵件應用程式。

URI 配置 結果
mailto: 啟動預設的電子郵件應用程式。
mailto:[email address] 啟動電子郵件應用程式並使用收件者行中指定的電子郵件地址建立新訊息。 請注意,在用戶點選傳送之前,不會傳送電子郵件。

HTTP URI 配置

使用 http: URI 配置來啟動預設網頁瀏覽器。

URI 配置 結果
http: 啟動預設網頁瀏覽器。

地圖應用程式 URI 配置

使用 bingmaps:ms-drive-to:ms-walk-to: URI 方案將 Windows 地圖應用程式啟動到特定的地圖、方向和搜尋結果。 例如,下列 URI 會開啟 Windows 地圖應用程式,並顯示以紐約市為中心的地圖。

bingmaps:?cp=40.726966~-74.006076

an example of the windows maps app.

如需詳細資訊,請參閱啟動 Windows 地圖應用程式。 若要在您自己的應用程式中使用地圖控制項,請參閱使用 2D、3D 和 Streetside 檢視來顯示地圖。

訊息應用程式 URI 配置

使用 ms-chat: URI 配置來啟動 Windows 傳訊應用程式。

URI 配置 結果
ms-chat: 啟動傳訊應用程式。
ms-chat:?ContactID={contacted} 允許使用特定聯絡人的信息啟動訊息應用程式。
ms-chat:?Body={body} 允許使用字串啟動訊息傳遞應用程式以用作訊息內容。
ms-chat:?Addresses={address}&Body={body} 允許以特定地址的信息啟動傳訊應用程式,並使用字串作為訊息的內容。 注意:位址可以串連。
ms-chat:?TransportId={transportId} 允許使用特定傳輸識別碼啟動訊息傳遞應用程式。

音調選擇器 URI 配置

使用 ms-tonepicker: URI 配置來選擇鈴聲、警示和系統音調。 您也可以儲存新的鈴聲,並取得音調的顯示名稱。

URI 配置 結果
ms-tonepicker: 挑選鈴聲、鬧鐘和系統音調。

參數會透過 ValueSet 傳遞至 LaunchURI API。 查看使用 ms-tonepicker URI 配置來選擇及儲存音調了解詳情。

附近的數位應用程式 URI 配置

使用 ms-yellowpage: URI 配置來啟動附近的數字應用程式。

URI 配置 結果
ms-yellowpage:?input=[keyword]&method=[String or T9] 啟動附近的數字應用程式。
input 是指您要搜尋的關鍵詞。
method 是指搜尋類型 (字串或 T9 搜尋)。
如果 methodT9 (鍵盤的一種類型),那麼 keyword 應該是映射到要搜尋的 T9 鍵盤字母的數字字串。
如果 methodStringkeyword 則為要搜尋的關鍵詞。

人員應用程式 URI 配置

使用 ms-people: URI 配置來啟動人員應用程式。 如需詳細資訊,請參閱啟動人員應用程式

相片應用程式 URI 配置

使用 ms-photos: URI 配置來啟動 Photos 應用程式來檢視影像或編輯影片。 例如:
若要檢視影像:ms-photos:viewer?fileName=c:\users\userName\Pictures\image.jpg
或編輯影片:ms-photos:videoedit?InputToken=123abc&Action=Trim&StartTime=01:02:03

注意

編輯視訊或顯示影像的 URI 只能在桌面上使用。

URI 配置 結果
ms-photos:viewer?fileName={filename} 啟動 Photos 應用程式,以檢視指定的影像,其中 {filename} 是完整路徑名稱。 例如:c:\users\userName\Pictures\ImageToView.jpg
ms-photos:videoedit?InputToken={input token} 針對檔案權杖所代表的檔案,以視訊編輯模式啟動 Photos 應用程式。 需要 InputToken。 使用 SharedStorageAccessManager 取得檔案的權杖。
ms-photos:videoedit?Action={action} 參數,指出開啟相片應用程式的視訊編輯模式,其中 {action} 是下列其中之一:SlowMotionFrameExtractionTrimViewInk。 需要執行動作
ms-photos:videoedit?StartTime={timespan} 選擇性參數,指定開始播放影片的位置。 {timespan} 必須使用下列格式"hh:mm:ss.ffff"。 如果未指定,會預設為 00:00:00.0000

設定應用程式 URI 方案

使用 ms-settings: URI 方案啟動 Windows 設定應用程式。 啟動設定應用程式是編寫隱私感知應用程式的重要組成部分。 如果您的應用程式無法存取敏感性資源,建議您為使用者提供該資源的隱私權設定便利連結。 例如,下列 URI 會開啟設定應用程式,並顯示相機隱私權設定。

ms-settings:privacy-webcam

camera privacy settings.

有關詳細資訊,請參閱啟動 Windows 設定應用程式隱私感知應用程式指南

市集應用程式 URI 配置

使用 ms-windows-store: URI 方案啟動 UWP 應用程式。 開啟產品詳細資訊頁面、產品評論頁面和搜尋頁面等。例如,以下 URI 將開啟 UWP 應用程式並啟動應用程式商店的主頁。

ms-windows-store://home/

如需詳細資訊,請參閱啟動 UWP 應用程式

天氣應用程式 URI 配置

使用 msnweather: URI 配置來啟動 Weather 應用程式。

URI 配置 結果
msnweather://forecast?la=[latitude]&lo=[longitude] 根據位置地理座標,在預測頁面中啟動天氣應用程式。
latitude 是指位置的緯度。
longitude 是指位置的經度。

Microsoft Edge URI 配置

使用 microsoft-edge: URI 方案將 Microsoft Edge 瀏覽器啟動到指定的 URL。

URI 配置 結果
microsoft-edge:https://example.com/] 打開 Microsoft Edge 瀏覽器並瀏覽至 https://example.com/