我用單個按鈕創建了一個非常簡單的UWP應用程序。點擊它應該會顯示內置的共享彈出框共享一個PDF文件。UWP共享功能在Windows 10中不起作用Mobile
事實上,我已經爲Windows 10(桌面)工作,但它不適用於手機(彈出窗口不顯示在屏幕上)。
PDF文件以字節數組的形式出現(因爲它來自遠程服務)。
這是MainPage.xaml.cs中
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
DataTransferManager.GetForCurrentView().DataRequested += OnDataRequested;
}
protected override async void OnNavigatedTo(NavigationEventArgs e)
{
// This should come from a service
PdfBytes = await Microsoft.Toolkit.Uwp.StorageFileHelper.ReadBytesFromPackagedFileAsync("Document.pdf");
}
public byte[] PdfBytes { get; set; }
private async void OnDataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
var deferral = args.Request.GetDeferral();
var si = await StorageFile.CreateStreamedFileAsync("Document.pdf", stream =>
{
var writeStream = stream.AsStreamForWrite();
writeStream.Write(PdfBytes, 0, PdfBytes.Length);
stream.Dispose();
}, null);
args.Request.Data.Properties.Title = "PDF Document";
args.Request.Data.Properties.Description = "Some description";
args.Request.Data.SetStorageItems(new IStorageItem[] { si });
deferral.Complete();
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
DataTransferManager.ShowShareUI();
}
}
它是正確的代碼?如果不是,我應該如何分享PDF(從字節)?
也許這個答案對您有用:http://stackoverflow.com/a/30203936/1406798 –
嗨,在我的應用程序中,我也使用共享。它適用於Desktop和Mobil。區別在於:改爲新的IStorageItem [] {si}我使用了新的List list = new List (); list.Add(文件);其中File是StorageFile。檢查你的組件。你有移動擴展嗎?! –
thezapper