2017-11-23 14 views
0

ローカルストレージからPDFファイルを開くXamarinフォームアプリケーション(現在はUWPのみ)を作成しています。 UWPプロジェクトでは、Xamarin Portable Projectのファイルパスを受け取ります。私は次の関数を使ってOpen With Promptを開きます。DisplayApplicationPickerがプロンプトで開いて表示されない

public void OpenFileWith(string path) 
{ 
    Task.Run(async() => 
    { 
     var file = await StorageFile.GetFileFromPathAsync(path); 

     if (file != null) 
     { 
      var options = new LauncherOptions(); 
      options.DisplayApplicationPicker = true; 
      var success = await Launcher.LaunchFileAsync(file, options); 

      if (success) 
      { 
       //File Launched 
      } 
      else 
      { 
       //File Launch Failed 
      } 
     } 
     }); 
    } 

私はすべてDocumentationに従って正しく行ったと思います。 LauncherOptionsを追加しないと、ファイルはデフォルトで選択されたアプリケーションで正しく開きます。

紛失しているものがありますか?おそらく許可?ドキュメントには「このプロパティはデスクトップデバイスにのみ実装されています」という注釈があります。私は、これは動作するはずデスクトップ(VMWareの経由のWindows 10)に

答えて

0

をテストしています:

public async Task OpenFileWithAsync(string path) 
    { 
     var file = await StorageFile.GetFileFromPathAsync(path); 

     if (file != null) 
     { 
      var options = new LauncherOptions(); 
      options.DisplayApplicationPicker = true; 
      var success = await Launcher.LaunchFileAsync(file, options); 

      if (success) 
      { 
       //File Launched 
      } 
      else 
      { 
       //File Launch Failed 
      } 
     } 
    } 

コール:

await OpenFileWithAsync(...); 
+0

は成功せず、あなたの答えをしようとしました。ファイルがローカルフォルダにある可能性がありますか? – DevelopingBeaver

+0

@DevelopingBeaver、そうすることができます。ファイルシステムへのアクセスは、UWPアプリケーションに対して厳密に規制されています(ドキュメントの[ファイルアクセス許可](https://docs.microsoft.com/en-us/windows/uwp/files/file-access-permissions)セクションを参照) 。テストのために、PDFファイルをどこかの場所に配置してください(例:_Pictures_フォルダ内で_PicturesLibrary_機能をアプリのマニフェストに追加するなど)。 –

+0

私は、Xamarin PortableプロジェクトのドキュメントをUWPプロジェクトにダウンロードして保存するプロセスを移行しました。このDowsは、プロンプトで正しく開いています。 – DevelopingBeaver

関連する問題