UWP 实现分享功能

一:需求

实现点击分享按钮,分享内容到微博,邮箱等。。

like this

二:DataTransferManager 数据传输管理类

DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested
+= IndexPage_DataRequested;

//展示系统的共享ui
DataTransferManager.ShowShareUI();
1.获取当前窗口中的DataTransferManager对象
2.添加DataRequested 事件,该事件在用户共享时触发。

3.当发生DataRequested事件的时候,你的应用会产生一个DataRequest对象,通过事件的args.Request可以获取到。
该对象包含了一个DataPackage对象,你需要将你要分享的内容赋值给
DataPackage对象。


void IndexPage_DataRequested(DataTransferManager sender, DataRequestedEventArgs args)
{
  //分享一个链接   
string shareLinkString = “https://www.baidu.com”;

  //创建一个数据包 DataPackage dataPackage
= new DataPackage();

  //把要分享的链接放到数据包里 dataPackage.SetWebLink(
new Uri(shareLinkString));

  //数据包的标题(内容和标题必须提供) dataPackage.Properties.Title
="数据包的标题";
  //数据包的描述 dataPackage.Properties.Description = "ONE for Windows10";
  //给dataRequest对象赋值 DataRequest request
= args.Request; request.Data = dataPackage; }

 

到这里就结束了,当你点击按钮时就会触发系统的共享,至于怎么共享的,就不需要我们操心的。我们只需要将提供分享的内容的这部分做好就好了。
如果你的DataPackage装的是图片,系统会请求这台电脑里和图片相关的软件。
如果是 文本之类的,可能会请求onenote啊之类。
总之,就是你提供的内容不同,帮你请求到的应用也会不一样。

 

 

---------some words----------

1.Transfer 转移

2.DataTransfer 数据传输

 

----------the end--------------

 

 

posted @ 2017-10-23 14:32  5只猫  阅读(291)  评论(0编辑  收藏  举报