하나의 버튼으로 아주 간단한 UWP 응용 프로그램을 만들었습니다. 을 클릭하면의 기본 공유 팝업이 표시되어 을 공유해야합니다.Windows Mobile에서 UWP 공유 기능이 작동하지 않습니다.
사실 내가 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 –
안녕, 내 응용 프로그램에서 나는 또한 공유를 사용했습니다. 그것은 데스크탑과 모빌에서 작동합니다. 차이점은 다음과 같습니다. 대신 새 IStorageItem [] {si} 새 List list = 새 List (); list.Add (파일); 여기서 File은 StorageFile입니다. 어셈블리도 확인하십시오. 모바일 익스텐션이 추가 되었습니까? –
thezapper