2015-08-06 1 views
0

J'ai une application qui capture des images à partir de l'appareil photo de l'appareil et les enregistre comme StorageFile s dans un dossier dans les données itinérantes de mon application. J'ai essayé de faire une page qui va ouvrir l'image et montrer un aperçu, mais j'ai eu beaucoup de problèmes à faire cela, donc je veux juste ouvrir l'image dans l'application de photos par défaut. Cependant, je ne trouve aucun moyen de le faire. L'utilisation de await Launcher.LaunchUriAsync(new Uri(@"ms-appdata:///roaming/folder/img.jpg")); vous demande si je souhaite rechercher une application dans le magasin (recherche de "ms-appdata"). L'application Photos native pour Windows (téléphone) dispose-t-elle d'un schéma URI dédié? En outre, je suis en ciblant Windows 10 avec cette application, de sorte que les schémas URI (le cas échéant) peuvent avoir changé.Comment puis-je ouvrir une image dans l'application de photos par défaut?

Répondre

2

Launcher.LaunchUriAsync est de lancer une application en utilisant le schéma URI, ce n'est pas ce que vous voulez.

Au lieu de cela, vous voulez lancer une application basée sur un fichier:
Obtenir l'image comme StorageFile

var imageFile = await StorageFile.GetFileFromPathAsync(@"ms-appdata:///roaming/folder/img.jpg"); 

Ensuite, vous dites le système d'exploitation pour lancer une application pour gérer ce fichier. Il est alors à l'utilisateur de choisir quelle application pour gérer le fichier image:

var success = await Windows.System.Launcher.LaunchFileAsync(imageFile); 

Vous pouvez en savoir plus sur les fichiers « lancement » here.