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--------------