首页 > 解决方案 > UserActivity 打开最后编辑的文件

问题描述

在 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();

标签: c#uwp

解决方案


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

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


推荐阅读