URI に応じた既定のアプリの起動Launch the default app for a URI

重要な APIImportant APIs

URI (Uniform Resource Identifier) に応じて既定のアプリを起動する方法について説明します。Learn how to launch the default app for a Uniform Resource Identifier (URI). URI を使うと、別のアプリを起動して特定の作業を実行できます。URIs allow you to launch another app to perform a specific task. また、Windows に組み込まれている多くの URI スキームの概要についても説明します。This topic also provides an overview of the many URI schemes built into Windows. カスタム URI も起動することができます。You can launch custom URIs too. カスタム URI スキームを登録する方法と URI のアクティブ化を処理する方法について詳しくは、「URI のアクティブ化の処理」をご覧ください。For more info about registering a custom URI scheme and handling URI activation, see Handle URI activation.

URI スキームでは、ハイパーリンクをクリックしてアプリを開くことができます。URI schemes let you open apps by clicking hyperlinks. mailto: を使って新しいメールの作成を開始できるのと同様に、http: を使って既定の Web ブラウザーを開くことができます。Just as you can start a new email using mailto:, you can open the default web browser using http:

このトピックでは、Windows に組み込まれている以下の URI スキームについて説明します。This topic describes the following URI schemes built into Windows:

URI スキームURI Scheme 起動対象Launches
bingmaps:、ms-drive-to:、ms-walk-to:bingmaps:, ms-drive-to:, and ms-walk-to: マップ アプリMaps app
http:http: 既定の Web ブラウザーDefault web browser
mailto:mailto: 既定のメール アプリDefault email app
ms-call:ms-call: 通話アプリCall app
ms-chat:ms-chat: メッセージング アプリMessaging app
ms-people:ms-people: People アプリPeople app
ms-photos:ms-photos: フォト アプリPhotos app
ms-settings:ms-settings: 設定アプリSettings app
ms-store:ms-store: ストア アプリStore app
ms-tonepicker:ms-tonepicker: トーンの選択コントロールTone picker
ms-yellowpage:ms-yellowpage: 近隣の施設検索アプリNearby Numbers app


たとえば、次の URI は既定のブラウザーを開き、Bing の Web サイトを表示します。For example, the following URI opens the default browser and displays the Bing web site.

http://bing.com

カスタム URI スキームを起動することもできます。You can also launch custom URI schemes too. その URI を処理するアプリがインストールされていない場合は、ユーザーにインストールするアプリを推奨することができます。If there is no app installed to handle that URI, you can recommend an app for the user to install. 詳しくは、「URI を処理するアプリがない場合にアプリを推奨」をご覧ください。For more info, see Recommend an app if one is not available to handle the URI.

一般的に、起動するアプリをアプリが選ぶことはできません。In general, your app can't select the app that is launched. どのアプリを起動するかはユーザーが決めます。The user determines which app is launched. 同じ URI スキームを処理するために、複数のアプリを登録できます。More than one app can register to handle the same URI scheme. この例外として、予約済みの URI スキームがあります。The exception to this is for reserved URI schemes. 予約済みの URI スキームの登録は無視されます。Registrations of reserved URI schemes are ignored. 予約済みの URI スキームの一覧については、「URI のアクティブ化の処理」をご覧ください。For the full list of reserved URI schemes, see Handle URI activation. 複数のアプリが同じ URI スキームを登録している可能性がある場合は、アプリで特定のアプリを起動することを推奨できます。In cases where more than one app may have registered the same URI scheme, your app can recommend a specific app to be launched. 詳しくは、「URI を処理するアプリがない場合にアプリを推奨」をご覧ください。For more info, see Recommend an app if one is not available to handle the URI.

LaunchUriAsync を呼び出して URI を起動Call LaunchUriAsync to launch a URI

URI を起動するには、LaunchUriAsync メソッドを使います。Use the LaunchUriAsync method to launch a URI. このメソッドを呼び出すとき、アプリはユーザーに表示されるフォアグラウンド アプリである必要があります。When you call this method, your app must be the foreground app, that is, it must be visible to the user. この要件は、ユーザーが制御を維持するのに役立ちます。This requirement helps ensure that the user remains in control. この要件を満たすために、すべての URI 起動がアプリの UI に直接結び付けられていることを確認します。To meet this requirement, make sure that you tie all URI launches directly to the UI of your app. URI 起動を開始するには、常にユーザーがなんらかの操作を行う必要があります。The user must always take some action to initiate a URI launch. URI を起動しようとしたときにアプリがフォアグラウンドにない場合、起動は失敗し、エラー コールバックが呼び出されます。If you attempt to launch a URI and your app isn't in the foreground, the launch will fail and your error callback will be invoked.

最初に URI を表す System.Uri オブジェクトを作成し、それを LaunchUriAsync メソッドに渡します。First create a System.Uri object to represent the URI, then pass that to the LaunchUriAsync method. 次の例のように、返される結果を使って呼び出しが成功したかどうかを確認します。Use the return result to see if the call succeeded, as shown in the following example.

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
   }
}

場合によって、ユーザーが実際にアプリを切り替えようとしているかどうかを確認するダイアログがオペレーティング システムにより表示されます。In some cases, the operating system will prompt the user to see if they actually want to switch apps.

灰色で表示されたアプリの背景にオーバーレイで表示された警告ダイアログ。

この確認ダイアログを常に表示する場合は、Windows.System.LauncherOptions.TreatAsUntrusted プロパティを使って、オペレーティング システムが警告を表示することを指定します。If you always want this prompt to occur, use the Windows.System.LauncherOptions.TreatAsUntrusted property to tell the operating system to display a warning.

// 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 を処理するアプリがない場合にアプリを推奨Recommend an app if one is not available to handle the URI

場合によっては、起動中の URI を処理するアプリがインストールされていないこともあります。In some cases, the user might not have an app installed to handle the URI that you are launching. 既定では、オペレーティング システムによってストア上の適切なアプリを検索するリンクが表示されて、これらのケースは対処されます。By default, the operating system handles these cases by providing the user with a link to search for an appropriate app on the store. このシナリオで入手する必要のあるアプリに関する特定の推奨事項を示す場合は、起動中の URI と共に推奨事項を渡すことができます。If you want to give the user a specific recommendation for which app to acquire in this scenario, you can do so by passing that recommendation along with the URI that you are launching.

推奨事項は、URI スキームを処理するアプリが複数登録されているときにも役立ちます。Recommendations are also useful when more than one app has registered to handle a URI scheme. 特定のアプリを推奨すると、そのアプリが既にインストールされている場合、Windows はそのアプリを開きます。By recommending a specific app, Windows will open that app if it is already installed.

アプリを推奨するには、LauncherOptions.preferredApplicationPackageFamilyName を推奨するストア内のアプリのパッケージ ファミリ名に設定して、Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) メソッドを呼び出します。To make a recommendation, call the Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) method with LauncherOptions.preferredApplicationPackageFamilyName set to the package family name of the app in the store that you want to recommend. オペレーティング システムではこの情報を使って、ストア内のアプリを検索する一般的なオプションを、ストアから推奨アプリを入手する固有のオプションに置き換えます。The operating system uses this info to replace the general option to search for an app in the store with a specific option to acquire the recommended app from the store.

// 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);

残りの表示の基本設定Set remaining view preference

LaunchUriAsync を呼び出すソース アプリは、URI の起動後も画面上に留まることを要求できます。Source apps that call LaunchUriAsync can request that they remain on screen after a URI launch. 既定では、利用可能なスペース全体がソース アプリと URI を処理するターゲット アプリとで均等に共有されます。By default, Windows attempts to share all available space equally between the source app and the target app that handles the URI. ソース アプリでは、DesiredRemainingView プロパティを使って、利用可能なスペースをソース アプリのウィンドウがどの程度占めるかをオペレーティング システムに指示できます。Source apps can use the DesiredRemainingView property to indicate to the operating system that they prefer their app window to take up more or less of the available space. この DesiredRemainingView では、URI の起動後にソース アプリが画面上に留まる必要がなく、ターゲット アプリに完全に置き換わっても良いことも示せます。DesiredRemainingView can also be used to indicate that the source app doesn't need to remain on screen after the URI launch and can be completely replaced by the target app. このプロパティは呼び出し元アプリの優先ウィンドウのサイズだけを指定します。This property only specifies the preferred window size of the calling app. 画面に同時に表示されている可能性のある他のアプリの動作は指定しません。It doesn't specify the behavior of other apps that may happen to also be on screen at the same time.

ソース アプリの最終的なウィンドウ サイズは、複数の異なる要素が考慮されて決定されます。たとえば、ソース アプリの設定、画面上のアプリの数、画面の向きなどです。Note Windows takes into account multiple different factors when it determines the source app's final window size, for example, the preference of the source app, the number of apps on screen, the screen orientation, and so on. DesiredRemainingView を設定しても、ソース アプリの特定のウィンドウ動作が保証されるわけではありません。By setting DesiredRemainingView, you aren't guaranteed a specific windowing behavior for the source app.

// 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 Schemes

各種 URI スキームについて以下に説明します。The various URI schemes are described below.

通話アプリの URI スキームCall app URI scheme

ms-call: URI スキームを使って、通話アプリを起動します。Use the ms-call: URI scheme to launch the Call app.

URI スキームURI Scheme 結果Result
ms-call:settingsms-call:settings アプリ設定のページを呼び出します。Calls app settings page.

メールの URI スキームEmail URI scheme

mailto: URI スキームを使って、既定のメール アプリを起動します。Use the mailto: URI scheme to launch the default mail app.

URI スキームURI Scheme 結果Results
mailto:mailto: 既定のメール アプリを起動します。Launches the default email app.
mailto:[email address]mailto:[email address] メール アプリを起動し、宛先行で指定されているメール アドレスを使用して新しいメッセージを作成します。Launches the email app and creates a new message with the specified email address on the To line. メールは、ユーザーが [送信] をタップするまで送信されません。Note that the email is not sent until the user taps send.

HTTP の URI スキームHTTP URI scheme

http: URI スキームを使って、既定の Web ブラウザーを起動します。Use the http: URI scheme to launch the default web browser.

URI スキームURI Scheme 結果Results
http:http: 既定の Web ブラウザーを起動します。Launches the default web browser.

マップ アプリの URI スキームMaps app URI schemes

bingmaps:ms-drive-to:ms-walk-to: の各 URI スキームを使って、Windows マップ アプリを起動し、特定の地図、ルート案内、検索結果を表示します。Use the bingmaps:, ms-drive-to:, and ms-walk-to: URI schemes to launch the Windows Maps app to specific maps, directions, and search results. たとえば、次の URI は、Windows マップ アプリを開き、ニューヨークを中心とした地図を表示します。For example, the following URI opens the Windows Maps app and displays a map centered over New York City.

bingmaps:?cp=40.726966~-74.006076

Windows マップ アプリの例。

詳しくは、「Windows マップ アプリの起動」をご覧ください。For more info, see Launch the Windows Maps app. 独自のアプリでマップ コントロールを使うには、「2D、3D、Streetside ビューでの地図の表示」をご覧ください。To use the map control in your own app, see Display maps with 2D, 3D, and Streetside views.

メッセージング アプリの URI スキームMessaging app URI scheme

ms-chat: URI スキームを使って、Windows メッセージング アプリを起動します。Use the ms-chat: URI scheme to launch the Windows Messaging app.

URI スキームURI scheme 結果Results
ms-chat:ms-chat: メッセージング アプリを起動します。Launches the Messaging app.
ms-chat:?ContactID={contacted}ms-chat:?ContactID={contacted} 特定の連絡先の情報を使ってメッセージング アプリケーションを起動することを許可します。Allows the messaging application to be launched with a particular contact’s information.
ms-chat:?Body={body}ms-chat:?Body={body} メッセージの内容として使用する文字列を使ってメッセージング アプリケーションを起動することを許可します。Allows the messaging application to be launched with a string to use as the content of the message.
ms-chat:?Addresses={address}&Body={body}ms-chat:?Addresses={address}&Body={body} 特定のアドレスの情報とメッセージの内容として使用する文字列を使って、メッセージング アプリケーションを起動することを許可します。Allows the messaging application to be launched with a particular addresses' information, and with a string to use as the content of the message. 注: アドレスは連結することができます。Note: Addresses can be concatenated.
ms-chat:?TransportId={transportId}ms-chat:?TransportId={transportId} 特定のトランスポート ID を使ってメッセージング アプリケーションを起動することを許可します。Allows the messaging application to be launched with a particular transport ID.

トーンの選択コントロールの URI スキームTone picker URI scheme

ms-tonepicker: URI スキームを使って、トーン、アラーム、システム音を選択します。Use the ms-tonepicker: URI scheme to choose ringtones, alarms, and system tones. また、新しいトーンを保存したり、トーンの名前を表示したりできます。You can also save new ringtones and get the display name of a tone.

URI スキームURI Scheme 結果Results
ms-tonepicker:ms-tonepicker: トーン、アラーム、システム音を選択します。Pick ringtones, alarms, and system tones.

パラメーターは ValueSet を介して LaunchURI API に渡されます。Parameters are passed via a ValueSet to the LaunchURI API. 詳しくは、「ms-tonepicker URI スキームを使ったトーンの選択と保存」をご覧ください。See Choose and save tones using the ms-tonepicker URI scheme for details.

近隣の施設検索アプリの URI スキームNearby Numbers app URI scheme

ms-yellowpage: URI スキームを使って、近隣の施設検索アプリを起動します。Use the ms-yellowpage: URI scheme to launch the Nearby Numbers app.

URI スキームURI Scheme 結果Results
ms-yellowpage:?input=[keyword]&method=[String または T9]ms-yellowpage:?input=[keyword]&method=[String or T9] 近隣の施設検索アプリを起動します。Launches the Nearby Numbers app.
input 検索するキーワードを指定します。refers to the keyword you want to search.
method 検索の種類 (文字列検索か T9 検索) を指定します。refers to the type of search (string or T9 search).
methodT9 (キーボードの種類) である場合、keyword は T9 キーボードの文字にマップされた数字の検索文字列になります。If method is T9 (a type of keyboard) then keyword should be a numeric string that maps to the T9 keyboard letters to search for.
methodString の場合は、keyword は検索するキーワードになります。If method is String then keyword is the keyword to search for.

People アプリの URI スキームPeople app URI scheme

ms-people: URI スキームを使って、People アプリを起動します。Use the ms-people: URI scheme to launch the People app. 詳しくは、「People アプリの起動」をご覧ください。For more info, see Launch the People app.

フォト アプリの URI スキームPhotos app URI scheme

ms-photos: URI スキームを使ってフォト アプリを起動し、イメージを表示したり、ビデオを編集したりします。Use the ms-photos: URI scheme to launch the Photos app to view an image or edit a video. 次に、例を示します。For example:
イメージを表示するには:To view an image: ms-photos:viewer?fileName=c:\users\userName\Pictures\image.jpg
または、ビデオを編集するには:Or to edit a video: ms-photos:videoedit?InputToken=123abc&Action=Trim&StartTime=01:02:03

注意

ビデオを編集したり画像を表示するための URI は、デスクトップでのみ利用できます。The URIs to edit a video or display an image are only available on desktop.

URI スキームURI scheme 結果Results
ms-photos:viewer?fileName={filename}ms-photos:viewer?fileName={filename} フォト アプリを起動して指定したイメージを表示します。ここで、{filename} は完全修飾パス名です。Launches the Photos app to view the specified image where {filename} is a fully-qualified path name. 次に、例を示します。For example: c:\users\userName\Pictures\ImageToView.jpg
ms-photos:videoedit?InputToken={input token}ms-photos:videoedit?InputToken={input token} ファイルのトークンで表されるファイルのビデオ編集モードでフォト アプリを起動します。Launches the Photos app in video editing mode for the file represented by the file token. InputToken は必須です。InputToken is required. SharedStorageAccessManager を使用してファイルのトークンを取得します。Use the SharedStorageAccessManager to get a token for a file.
ms-photos:videoedit?Action={action}ms-photos:videoedit?Action={action} 指定したビデオ編集モードでPhotosアプリケーションを開くオプションのパラメータ-で、{action} は次のいずれかです: SlowMotionFrameExtractionトリム表示インクします。An optional parameter that opens the Photos app in the specified video editing mode where {action} is one of: SlowMotion, FrameExtraction, Trim, View, Ink. 何も指定しない場合の既定値は表示です。If not specified, defaults to View
ms-photos:videoedit?StartTime={timespan}ms-photos:videoedit?StartTime={timespan} ビデオの再生を開始する場所を指定するオプションのパラメーターです。An optional parameter that specifies where to start playing the video. {timespan} 形式は "hh:mm:ss.ffff" を指定する必要があります。must be in the format "hh:mm:ss.ffff". 指定しない場合、既定で以下のようになります。If not specified, defaults to 00:00:00.0000

設定アプリの URI スキームSettings app URI scheme

ms-settings: URI スキームを使って、Windows 設定アプリを起動します。Use the ms-settings: URI scheme to launch the Windows Settings app. 設定アプリの起動は、個人データにアクセスするアプリの開発の重要な部分です。Launching to the Settings app is an important part of writing a privacy-aware app. アプリが機密性の高いリソースにアクセスできない場合、そのリソースのプライバシー設定への便利なリンクをユーザーに提供することをお勧めします。If your app can't access a sensitive resource, we recommend providing the user a convenient link to the privacy settings for that resource. たとえば、次の URI は設定アプリを開き、カメラのプライバシー設定を表示します。For example, the following URI opens the Settings app and displays the camera privacy settings.

ms-settings:privacy-webcam

カメラのプライバシー設定。

詳しくは、「Windows 設定アプリの起動」と「個人データにアクセスするアプリのガイドライン」をご覧ください。For more info, see Launch the Windows Settings app and Guidelines for privacy-aware apps.

ストア アプリの URI スキームStore app URI scheme

ms-windows-store: URI スキームを使って、UWP アプリ を起動します。Use the ms-windows-store: URI scheme to Launch the UWP app. 製品の詳細ページ、製品のレビュー ページ、検索ページなどを開きます。たとえば、次の URI は、UWP アプリを開き、Store のホーム ページを起動します。Open product detail pages, product review pages, and search pages, etc. For example, the following URI opens the UWP app and launches the home page of the Store.

ms-windows-store://home/

詳しくは、「UWP アプリの起動」をご覧ください。For more info, see Launch the UWP app.