UserActivity打开上次编辑的文件

时间:2018-05-03 17:53:00

标签: c# uwp

如何在Windows 10时间线中单击后让我的应用程序打开上次编辑的文件?谢谢你的帮助。

        var activityId = Guid.NewGuid().ToString();
        UserActivityChannel channel = UserActivityChannel.GetDefault();
        UserActivity userActivity = await channel.GetOrCreateUserActivityAsync(activityId);

        userActivity.VisualElements.DisplayText = PageTitle.Text;
        if (File != null)
        {
             userActivity.VisualElements.Description = File.DisplayName;
        }
      userActivity.VisualElements.BackgroundColor = Colors.Black;
      userActivity.VisualElements.Content = AdaptiveCardBuilder.CreateAdaptiveCardFromJson(cardText);
      userActivity.ActivationUri = new Uri("my-app:navigate?page=" + _index);

     await userActivity.SaveAsync();

    _currentActivity?.Dispose();
    _currentActivity = userActivity.CreateSession();

1 个答案:

答案 0 :(得分:1)

UserActivityChannel类中,有一个GetRecentUserActivitiesAsync方法,但它只获得按每个用户活动结束时排序的最近参与的用户活动的指定数量。由于UWP应用程序的隐私保护政策,您的应用程序无法从系统或其他应用程序获取用户活动。

目前,在您的应用中,您只能操作应用创建的用户活动。如果文件由系统或其他应用程序编辑,则无法实现所需的效果。但是,如果文件由您的应用程序操作,您可以尝试创建用于打开文件的用户活动,然后在应用程序中处理协议激活事件以打开它。也许您应该看到主题track recently used files