2016-06-17 64 views
2

我正在開發一款面向桌面和移動設備的UWP應用程序。 在應用中的一些點下面的代碼是用來Windows.System.LaunchUriAsync僅在Windows 10移動設備上拋出異常

var success = await Windows.System.Launcher.LaunchUriAsync(new Uri(uri), new Windows.System.LauncherOptions { ContentType = mimeType }); 

此代碼的工作,因爲它應該在桌面上。例如,當URI是圖像的URI時(例如我試過的這個https://support.files.wordpress.com/2009/07/pigeony.jpg),啓動Photos應用程序並顯示照片。

在手機上,但完全相同的代碼,具有完全相同的參數會引發異常。

消息:該方法或操作未實現

堆棧跟蹤:在在 MyApp.Services.PresentationService.d__7.MoveNext()

Windows.System.LauncherOptions.put_ContentType(字符串值)

這個問題似乎與LauncherOptions有關,因爲如果我將它們從調用中刪除,圖像通常會在瀏覽器中打開。 (但這不是可接受的功能,我需要啓動相應的應用程序)。

根據documentation關於LaunchUriAsync方法,windows 10和windows 10 mobile應該沒有區別。有人知道發生了什麼嗎?

+0

當您在模擬器中進行調試時,是否出現相同的錯誤?另外,你在設備上運行什麼版本? –

回答

1

根據文檔應該有窗口10和Windows有關LaunchUriAsync方法

其實10移動,該LauncherOptions.ContentType屬性僅在桌面設備上實現無顯着差異,見注在here

重要此屬性僅在桌面設備上實現。

-

然而,這是不能接受的功能,我需要啓動相應的應用程序

目前,沒有簡單/直接的方式來實現這在手機中,有一些解決方法,例如:將圖像下載到本地文件夾/圖片文件夾,打開照片應用程序或在您的應用程序中顯示它們

var options = new Windows.System.LauncherOptions(); 
var df = Windows.System.Profile.AnalyticsInfo.VersionInfo.DeviceFamily; 
if (df == "Windows.Desktop") 
{ 
      options.ContentType = "image/jpeg"; 
} 
else 
{ 
      //Omitted, save network images into Picture folder 

      uriToLaunch = "ms-photos:///"; //Launch Photo app 
} 
var uri = new Uri(uriToLaunch); 
// Launch the URI with the content type 
var success = await Windows.System.Launcher.LaunchUriAsync(uri, options); 

順便說一下,請使用反饋應用程序提交您的功能請求,這是讓MS知道用戶/開發人員需要什麼的好方法。

+0

感謝您的答案@Franklin,它完全避開了我。我將保存到臨時文件夾,因爲我不需要圖像保留。我也提交了功能請求。 – Corcus

相關問題