Langage: HTML | XAML

Comment lancer l’application par défaut pour un URI (applications Windows Runtime en C#/VB/C++ et XAML)

Applies to Windows and Windows Phone

Découvrez comment lancer l’application par défaut d’un URI (Uniform Resource Identifier). Les URI vous permettent de lancer une autre application sur le système d’exploitation afin d’effectuer une tâche spécifique. Par exemple, si vous voulez autoriser l’utilisateur à envoyer un message à un contact dans votre application, vous pouvez utiliser l’URI mailto: pour lancer l’application de messagerie électronique par défaut de l’utilisateur.

Ces étapes vous montrent comment utiliser l’API Windows.System.Launcher pour lancer le gestionnaire par défaut d’un URI.

Instructions

Étape 1: Créer l’URI

Créez un objet System.Uri (C# et Visual Basic) ou Windows.Foundation.Uri (C++) pour l’URI à lancer. L’URI utilise le nom de schéma HTTP.


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

Étape 2: Lancer l’URI

Le système d’exploitation fournit plusieurs options différentes pour le lancement du gestionnaire par défaut d’un URI. Ces options sont décrites dans ce tableau et dans les sections qui suivent.

OptionMéthodeDescription
Lancement par défaut LaunchUriAsync(Uri) Lancer l’URI spécifié avec le gestionnaire par défaut.
Lancer avec un boîte de dialogue d’avertissement LaunchUriAsync(Uri, LauncherOptions) Le système d’exploitation affiche une boîte de dialogue d’avertissement avant de lancer l’URI spécifié.
Lancer avec une application de secours recommandée LaunchUriAsync(Uri, LauncherOptions) Lancer l’URI spécifié avec le gestionnaire par défaut. Si aucun gestionnaire n’est installé sur le système, recommandez une application du Windows Store à l’utilisateur.
Lancer avec un affichage restant souhaité LaunchUriAsync(Uri, LauncherOptions) (Windows uniquement)Lancer l’URI spécifié avec le gestionnaire par défaut. Spécifier une préférence à conserver à l’écran après le lancement et demander une taille de fenêtre spécifique.

Windows 8.1:  La propriété LauncherOptions.DesiredRemainingView n’est pas prise en charge dans les versions antérieures à Windows 8.1 et Windows Server 2012 R2.

Windows Phone:  La propriété LauncherOptions.DesiredRemainingView n’est pas prise en charge pour Windows Phone.

 

Ces exemples utilisent la méthode Windows.System.Launcher.LaunchUriAsync pour lancer l’URI. Il s’agit d’une méthode surchargée.

Default launch

Appelez la méthode Windows.System.Launcher.LaunchUriAsync(Uri) pour lancer l’URI créé à l’étape 1 à l’aide de l’application par défaut du schéma d’URI HTTP.


async void DefaultLaunch()
{
   // Launch the URI
   var success = await Windows.System.Launcher.LaunchUriAsync(uri);

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

Launch with a warning dialog

Appelez la méthode Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) pour lancer l’URI créé à l’étape 1 avec un avertissement. Utilisez la propriété Windows.System.LauncherOptions.TreatAsUntrusted pour indiquer que le système d’exploitation doit afficher un avertissement.

Une boîte de dialogue d’avertissement recouvrant un arrière-plan grisé de l’application. La boîte de dialogue demande à l’utilisateur s’il veut passer d’une application à l’autre et dispose de boutons « Oui » et « Non » en bas à droite. Le bouton « Non » est en surbrillance.

async void DefaultLaunch()
{
   // Set the option to show a warning
   var options = new Windows.System.LauncherOptions();
   options.TreatAsUntrusted = true;

   // Launch the URI with a warning prompt
   var success = await Windows.System.Launcher.LaunchUriAsync(uri, options);

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

Launch with a recommended app fallback

Dans certains cas, l’utilisateur ne dispose pas forcément d’une application installée pour gérer l’URI que vous lancez. Par défaut, le système d’exploitation gère ces cas en fournissant à l’utilisateur un lien pour rechercher une application appropriée dans le Windows Store. Si vous voulez recommander à l’utilisateur l’acquisition d’une application spécifique dans ce scénario, vous pouvez passer cette recommandation avec l’URI que vous lancez. Pour ce faire, appelez la méthode Windows.System.Launcher.LaunchUriAsync(Uri, LauncherOptions) avec LauncherOptions.preferredApplicationPackageFamilyName ayant pour valeur le nom de famille du package de l’application que vous voulez recommander dans le Windows Store. Affectez ensuite à LauncherOptions.preferredApplicationDisplayName le nom de cette application. Le système d’exploitation utilise cette information pour remplacer l’option générale permettant de rechercher une application dans le Windows Store par une option spécifique permettant d’acquérir l’application recommandée dans le Windows Store.

Remarque  Vous devez définir ces deux options pour recommander une application. La définition de l’une sans l’autre conduit à un échec.

La boîte de dialogue Ouvrir avec pour le lancement d’un URI contoso. Étant donné qu’aucun gestionnaire n’est installé sur l’ordinateur pour les fichiers .contoso, la boîte de dialogue contient une option avec l’icône du Windows Store et du texte qui indique à l’utilisateur le gestionnaire approprié sur le Windows Store. La boîte de dialogue contient également un lien « Autres options ».

async void DefaultLaunch()
{
   // 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(uri, options);
   if (success)
   {
      // URI launched
   }
   else
   {
      // URI launch failed
   }
}



Lancer avec un affichage restant souhaité (Windows uniquement)

Les applications sources qui appellent la méthode LaunchUriAsync peuvent demander à rester à l’écran après le lancement d’un URI. Par défaut, Windows essaie de partager tout l’espace disponible de manière équitable entre l’application source et l’application cible qui gère l’URI. Les applications sources peuvent utiliser la propriété DesiredRemainingView pour indiquer au système d’exploitation qu’elles préfèrent que leur fenêtre d’application occupe une plus grande ou plus petite partie de l’espace disponible. La propriété DesiredRemainingView peut également servir à indiquer que l’application source n’a pas besoin de rester à l’écran après le lancement de l’URI et qu’elle peut être complètement remplacée par l’application cible. Cette propriété spécifie uniquement la taille de fenêtre par défaut de l’application appelante. Elle ne spécifie pas le comportement d’autres applications qui peuvent se trouver en même temps sur l’écran.

Remarque  Windows tient compte de plusieurs facteurs différents pour déterminer la taille finale de la fenêtre de l’application source, par exemple, la préférence de l’application source, le nombre d’applications à l’écran, l’orientation de l’écran, etc. La définition de la propriété DesiredRemainingView ne garantit pas un comportement de fenêtrage spécifique pour l’application cible.

Windows 8.1:   La propriété LauncherOptions.DesiredRemainingView n’est pas prise en charge dans les versions antérieures à Windows 8.1 et Windows Server 2012 R2.

Windows Phone:   La propriété LauncherOptions.DesiredRemainingView n’est pas prise en charge pour Windows Phone.


async void DefaultLaunch()
{
   // 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(uri, options);

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


Remarques

Votre application ne peut pas sélectionner l’application qui est lancée. L’utilisateur détermine quelle application est lancée. L’utilisateur peut sélectionner une application Windows Runtime ou une application de bureau.

Lors du lancement d’un URI, votre application doit être l’application au premier plan, c’est-à-dire qu’elle doit être visible pour l’utilisateur. Cette condition permet de garantir que l’utilisateur conserve le contrôle. Pour pouvoir la respecter, assurez-vous que vous avez relié directement tous les lancements d’URI à l’interface utilisateur de votre application. L’utilisateur doit toujours exercer une action pour initier un lancement d’URI. Si vous tentez de lancer un URI alors que votre application n’est pas au premier plan, le lancement échoue et votre rappel d’erreur est appelé.

Vous devez spécifier la fonctionnalité privateNetworkClientServer afin de lancer des URI d’intranet ; par exemple, un URI file:/// pointant vers un emplacement réseau.

Vous ne pouvez pas utiliser cette méthode pour lancer un URI dans la zone locale. Par exemple, les applications ne peuvent pas utiliser l’URI file:/// pour accéder aux fichiers sur le périphérique local. À la place, vous devez utiliser les Storage APIs pour accéder aux fichiers. Si vous tentez de lancer un URI d’intranet sans la fonctionnalité appropriée ou un URI de zone locale, le lancement échoue et votre rappel d’erreur est appelé.

Exemple complet

Voir Exemple d’association pour un lancement d’application.

Rubriques associées

Tâches
Comment gérer l’activation des URI
Comment lancer l’application par défaut d’un fichier
Recommandations
Recommandations et liste de vérification sur les types de fichiers et les URI
Référence
Windows.System.Launcher.LaunchUriAsync

 

 

Afficher:
© 2014 Microsoft