zoukankan      html  css  js  c++  java
  • 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--------------

     

  • 相关阅读:
    SpringBoot项目maven 打包时跳过测试
    scss 学习笔记
    万事都源于一个字:缘
    H To begin or not to begin 题解(思维)
    条件 题解(bitset优化floyd)
    Dima and Salad 题解(01背包变形)
    P1052 [NOIP2005 提高组] 过河 题解(dp+数论优化)
    A Simple Math Problem 题解(数论)
    威佐夫博弈
    P3951 [NOIP2017 提高组] 小凯的疑惑 题解(数论/结论题)
  • 原文地址:https://www.cnblogs.com/MzwCat/p/7716612.html
Copyright © 2011-2022 走看看